diff --git a/README.md b/README.md index 9951443..2e6d246 100644 --- a/README.md +++ b/README.md @@ -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 `` header which must be provided by the application. +Modules can be configured via defines set in `` 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 `: 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 `` 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 `` 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 `: Set period in ticks of heartbeat timer (default: 1000) -## Easy Config +# STA-Core Interfaces -Simplify configuration of modules. Intended for use in ``. - -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` diff --git a/library.json b/library.json index b640cd8..5ce2c3a 100644 --- a/library.json +++ b/library.json @@ -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",