AVR SD Safety Framework 1.0.0
Loading...
Searching...
No Matches

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.

Detailed Description

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.

UML Class Diagrams

UML Sequence Diagrams

Function Documentation

◆ TM_Startup()

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.

Parameters
appStartupScheduleArray 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.
scheduleLengthNumber of entries in appStartupSchedule. A value of '0' indicates an empty schedule and no application startup Tasks will run.
Warning
An invalid Task function pointer in appStartupSchedule leads to undefined behavior.
Warning
Passing a scheduleLength larger than the size of appStartupSchedule results in undefined behavior.
Here is the call graph for this function:
Here is the caller graph for this function: