Update README

This commit is contained in:
Henrik Stickann 2023-01-22 00:08:47 +01:00
parent aa1b46f3ed
commit cff89bc2e4
2 changed files with 19 additions and 50 deletions

View File

@ -1,44 +1,21 @@
# STA RTOS Utilities # STA RTOS Utilities
![pre-release v0.1.0](https://img.shields.io/static/v1?label=pre-release&message=v0.1.0&color=orange&logo=git) ![pre-release v1.0.0](https://img.shields.io/static/v1?label=pre-release&message=v1.0.0&color=orange&logo=git)
![Standard: C++11](https://img.shields.io/static/v1?label=standard&message=C%2B%2B11&color=blue&logo=cplusplus) ![Standard: C++11](https://img.shields.io/static/v1?label=standard&message=C%2B%2B11&color=blue&logo=cplusplus)
Library using CMSIS-RTOS2 functionality for RTOS projects. Library providing the software stack for use with the ALPAKA hardware design for RTOS projects.
Modules are enabled via defines set in `<sta/config.hpp>` header which must be provided by the application. Modules can be configured via defines set in `<sta/config.hpp>` header file which must be provided by the application.
# Interface implementations # ALPAKA Modules
The library provides implementations for the following interfaces using CMSIS-RTOS2 functionality: All enabled modules are initialized by calling the `startALPAKA` function from the default task.
* `Mutex`
* `Signal`
The function `startupExtras` is called before any module initialization and can be used by the application
# Modules to execute additional initialization steps before any task waiting for the startup system event will run.
The function prototype can be found in the `<sta/rtos/startup.hpp>` header and can optionally be implemented
## System Events anywhere in the application code.
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 ## Can Bus
@ -47,27 +24,19 @@ TODO Add description
Configuration: Configuration:
Requirements:
* `System Events` module
## Watchdog
## Startup The watchdog task waits for signals sent either from its heartbeat timer or manually via `sta::notifyWatchdog`
and passes the event flags to the `sta::watchdogEventHandler` function. This function must be implemented by the application.
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: Configuration:
* `#define STA_RTOS_STARTUP_ENABLE`: Enable module * `#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
## Easy Config # STA-Core Interfaces
Simplify configuration of modules. Intended for use in `<sta/config.hpp>`. The library provides implementations for the following interfaces using CMSIS-RTOS2 functionality:
* `Mutex`
Configuration: * `Signal`
* `#define STA_RTOS_SYSTEM_TASKS_ENABLE`: Enable all modules required for system tasks

View File

@ -1,7 +1,7 @@
{ {
"owner" : "sta", "owner" : "sta",
"name": "sta-rtos", "name": "sta-rtos",
"version": "0.1.0", "version": "1.0.0",
"dependencies": [ "dependencies": [
{ {
"url": "git@gitlab.com:sta-git/alpaka/sta-core.git", "url": "git@gitlab.com:sta-git/alpaka/sta-core.git",