mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/rtos2-utils.git
synced 2025-06-12 02:36:00 +00:00
74 lines
1.9 KiB
Markdown
74 lines
1.9 KiB
Markdown
# STA RTOS Utilities
|
|
|
|

|
|

|
|
|
|
Library using CMSIS-RTOS2 functionality for RTOS projects.
|
|
|
|
Modules are enabled via defines set in `<sta/config.hpp>` header which must be provided by the application.
|
|
|
|
|
|
# Interface implementations
|
|
|
|
The library provides implementations for the following interfaces using CMSIS-RTOS2 functionality:
|
|
* `Mutex`
|
|
* `Signal`
|
|
|
|
|
|
# Modules
|
|
|
|
## System Events
|
|
|
|
Provides an interface for common system events.
|
|
|
|
Configuration:
|
|
* `#define STA_RTOS_SYSTEM_EVENTS_ENABLE`: Enable module
|
|
|
|
When enabled a new global event flag will be created. Initialization will be handled by the Startup module
|
|
if enabled.
|
|
|
|
|
|
## Watchdog
|
|
|
|
The watchdog task waits for signals sent either from the heartbeat timer or manually via `sta::notifyWatchdog`
|
|
and forwards the event flags to the `sta::watchdogEventHandler` function implemented by the application.
|
|
|
|
Configuration:
|
|
* `#define STA_RTOS_WATCHDOG_ENABLE`: Enable module
|
|
* `#define STA_RTOS_WATCHDOG_TIMER_PERIOD <period_ticks>`: Set period in ticks of heartbeat timer (default: 1000)
|
|
|
|
Requirements:
|
|
* `System Events` module
|
|
|
|
|
|
## Can Bus
|
|
|
|
TODO Add description
|
|
|
|
Configuration:
|
|
|
|
Requirements:
|
|
* `System Events` module
|
|
|
|
|
|
## Startup
|
|
|
|
The `startALPAKA` function must be called from the default task.
|
|
|
|
It provides all setup required by the enabled system tasks. If additional initialization is required
|
|
the function `void sta::startupExtras(void *)` declared in `<sta/rtos/startup.hpp>` can be implemented by the application.
|
|
|
|
Configuration:
|
|
* `#define STA_RTOS_STARTUP_ENABLE`: Enable module
|
|
|
|
Requirements:
|
|
* `System Events` module
|
|
|
|
|
|
## Easy Config
|
|
|
|
Simplify configuration of modules. Intended for use in `<sta/config.hpp>`.
|
|
|
|
Configuration:
|
|
* `#define STA_RTOS_SYSTEM_TASKS_ENABLE`: Enable all modules required for system tasks
|