mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/rtos2-utils.git
synced 2025-06-10 01:55:59 +00:00
Merge pull request 'doc: Brief overview of features in README' (#32) from doc/brief into main
Reviewed-on: https://git.intern.spaceteamaachen.de/ALPAKA/rtos2-utils/pulls/32 Reviewed-by: dario <dario@noreply.git.intern.spaceteamaachen.de>
This commit is contained in:
commit
6bffcd9444
45
README.md
45
README.md
@ -10,18 +10,17 @@ Modules can be configured via defines set in `<sta/config.hpp>` header file whic
|
|||||||
|
|
||||||
# ALPAKA Modules
|
# ALPAKA Modules
|
||||||
|
|
||||||
All enabled modules are initialized by calling the `startALPAKA` function from the default task.
|
The startup of all features that need to be initialized before the RTOS is started is implemented in the `startTACOS()` function offered by [TACOS](https://git.intern.spaceteamaachen.de/ALPAKA/TACOS). Alternatively the following code can be used to start the system:
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
sta::rtos::initSystemEvents();
|
||||||
|
HAL_TIM_Base_Start(&STA_STM32_DELAY_US_TIM);
|
||||||
|
sta::rtos::signalStartupEvent();
|
||||||
|
```
|
||||||
|
|
||||||
## Can Bus
|
## Can Bus
|
||||||
|
|
||||||
Mainly defers to the TACOS CAN module, but provides a simple interface for sending and receiving messages.
|
Mainly defers to the TACOS CAN module, but provides a simple interface for sending and receiving messages.
|
||||||
|
|
||||||
Expandable for isotp.
|
Expandable for isotp.
|
||||||
|
|
||||||
|
|
||||||
@ -30,3 +29,35 @@ Expandable for isotp.
|
|||||||
The library provides implementations for the following interfaces using CMSIS-RTOS2 functionality:
|
The library provides implementations for the following interfaces using CMSIS-RTOS2 functionality:
|
||||||
* `Mutex`
|
* `Mutex`
|
||||||
* `Signal`
|
* `Signal`
|
||||||
|
|
||||||
|
# Wrapped CMSIS-RTOS2 Functions
|
||||||
|
|
||||||
|
Many CMSIS-RTOS2 functions are wrapped in classes to provide a more object-oriented interface. Previously mentioned interfaces will not be repeated here. Detailed information can be found in the `.hpp` files or the doxygen documentation.
|
||||||
|
|
||||||
|
## Event Flags
|
||||||
|
|
||||||
|
Event flags are a very useful tool for inter-task synchronization.
|
||||||
|
|
||||||
|
## Memory Pool
|
||||||
|
|
||||||
|
Fixed-size memory pools are used to allocate memory for objects of the same size. Unprotected against incorrect pointer usage. Shared memory is recommended to be used instead.
|
||||||
|
|
||||||
|
## Shared Memory
|
||||||
|
|
||||||
|
Shared memory is a memory pool that is protected against incorrect pointer usage by providing set interfaces for reading and writing data instead of direct pointer access.
|
||||||
|
|
||||||
|
## Message Queue
|
||||||
|
|
||||||
|
Simple and safe message queue implementation. Does what it says on the tin.
|
||||||
|
|
||||||
|
## Signal
|
||||||
|
|
||||||
|
A binary semaphore that can be used to signal events between tasks. Offers various control functions.
|
||||||
|
|
||||||
|
## Timer
|
||||||
|
|
||||||
|
Timers with a user defined callback function. Also repeatable, so they are also great for scheduling tasks.
|
||||||
|
|
||||||
|
## Thread
|
||||||
|
|
||||||
|
A simple thread that can be inherited from to create a new task. Offers a loop function that is called periodically. Also supports thread flags and murder.
|
Loading…
x
Reference in New Issue
Block a user