![]() |
AVR SD Safety Framework 1.0.0
|
Contains API prototype for the Startup Task Manager. More...
Files | |
| file | task_manager_startup.c |
| Implements API for Startup Task Manager. | |
| file | task_manager_startup.h |
| Contains API prototype for the Startup Task Manager. | |
Functions | |
| void | TM_Startup (const scheduleEntry_t appStartupSchedule[], uint8_t scheduleLength) |
| Manages and synchronizes safety system and application startup Tasks. | |
Contains API prototype for the Startup Task Manager.
The Startup Task Manager is responsible for running Tasks required for initializing and diagnosing the safety system, including application specific startup and diagnostic Tasks, before exiting the Safe State and transitioning to Mission Mode.
| void TM_Startup | ( | const scheduleEntry_t | appStartupSchedule[], |
| uint8_t | scheduleLength ) |
Manages and synchronizes safety system and application startup Tasks.
This function executes safety system and application-specific startup Tasks with fixed durations. Durations for the safety system startup Tasks are configured using DUR_RUN_STARTUP_DIAGNOSTICS and DUR_START_MISSION_MODE, while DUR_UNTIL_FIRST_SCHEDULE is used for the duration of time between exiting Safe State and the first call of TM_Scheduler.
After initializing the hardware safety mechanisms and running startup diagnostics, all application startup Tasks are executed in sequence before starting Mission Mode (exiting Safe State). See Tips and Tricks watchdog sections for how to extend timeout duration if the amount of application startup tasks demands it.
| appStartupSchedule | Array of schedule entries with a Task function pointer and duration in system clock cycles. Any Task set to a NULL pointer is skipped. Duration is limited to a 24-bit value minus the configured SWDT_OPEN_WINDOW. |
| scheduleLength | Number of entries in appStartupSchedule. A value of '0' indicates an empty schedule and no application startup Tasks will run. |