Skip to content

Commit

Permalink
Заменил delay в этапах расчековки на таймауты с полезной нагрузкой
Browse files Browse the repository at this point in the history
  • Loading branch information
iamsaywhat committed Jul 3, 2020
1 parent 0ec6594 commit 4c06376
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 23 deletions.
14 changes: 0 additions & 14 deletions RTE/RTE_Components.h

This file was deleted.

30 changes: 21 additions & 9 deletions main.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,30 @@ int main(void)
SelfTestingOnline ();
}

/* Если оказались здесь, значит БУП готов к работе */
while(SelfTesting_PIN1()); /* Ждем пока стабилизирующий парашют выбросится и извлечет шпильку 1 */
delay_ms(12000); /* Выжидаем 12 секунд */
PYRO_ON(); /* Поджигаем пиропатрон */
SelfTesting_PYRO();
delay_ms(3000); /* Пиропатрон включаем только на 3 сек */
while(SelfTesting_PIN2()); /* Ждем выброс основного парашюта - извлечения Шпильки 2 */
delay_ms(24000); /* Ждем 24 секунд */
/* Если оказались здесь, значит БУП готов к работе, далее следует этап расчековки парашютной системы */
while(SelfTesting_PIN1()) /* Ждем пока стабилизирующий парашют выбросится и извлечет шпильку 1 */
TaskManager_runZpzBackgroundMode(); /* И фоном опрашиваем датчики, и следим за состоянием системы */

setTimeout (&timeout, 12000); /* Стабилизирующийся парашют вышел, взводим таймер на 12 секунд */
while(timeoutStatus(&timeout) != TIME_IS_UP) /* Пока не произошел таймаут */
TaskManager_runZpzBackgroundMode(); /* Фоном опрашиваем датчики и следим за состоянием системы */

PYRO_ON(); /* Поджигаем пиропатрон */
SelfTesting_PYRO(); /* Проверим произошел ли подрыв */

while(SelfTesting_PIN2()) /* Ждем расчековки планера (извлечения Шпильки 2) */
TaskManager_runZpzBackgroundMode(); /* И фоном опрашиваем датчики, и следим за состоянием системы */

setTimeout (&timeout, 24000); /* Планер вышел, но нужно дать ему время на наполнение таймер на 12 секунд */
while(timeoutStatus(&timeout) != TIME_IS_UP) /* Взводим таймер на 24 секунды и ждем таймаута */
TaskManager_runZpzBackgroundMode(); /* Фоном опрашиваем датчики и следим за состоянием системы */

BIM_enableSupply(); /* Включаем питание БИМов */
SelfTesting_POW_BIM();
SelfTesting_POW_BIM(); /* Обновим состояние реле питания бимов */
delay_ms(1000); /* Ждем 1 секунду, чтобы питание БИМов стабилировалось */

/* Этап расчековки парашютной системы закончился.
* Далее завершаем инициализацию и запускаем управление */
SelfTestingOnline(); /* Запустим быструю диагностику системы перед запуском управления */
MathModel_initialize(); /* Инициализируем мат. модель полета */
TaskManager_restartCycle(); /* Сбрасываем/инициализируем список задач */
Expand Down

0 comments on commit 4c06376

Please sign in to comment.