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
![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)
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:
* `Mutex`
* `Signal`
All enabled modules are initialized by calling the `startALPAKA` function from the default task.
# 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
The function `startupExtras` is called before any module initialization and can be used by the application
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
anywhere in the application code.
## Can Bus
@ -47,27 +24,19 @@ TODO Add description
Configuration:
Requirements:
* `System Events` module
## Watchdog
## 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.
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.
Configuration:
* `#define STA_RTOS_STARTUP_ENABLE`: Enable module
Requirements:
* `System Events` 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)
## Easy Config
# STA-Core Interfaces
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
The library provides implementations for the following interfaces using CMSIS-RTOS2 functionality:
* `Mutex`
* `Signal`

View File

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