FuSa 8-Bit Libraries Safety Framework
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.

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.

Version
1.0.0-alpha.1

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, DUR_START_MISSION_MODE, and DUR_UNTIL_FIRST_SCHEDULE.

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 task 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.
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.
Passing a scheduleLength larger than the size of appStartupSchedule results in undefined behavior.

Definition at line 33 of file task_manager_startup.c.