The RTOS Application Layer provides several re-usable components that may be integrated into larger applications. It aims to provide a common repository to maximize code sharing across different applications and/or environments.
- asynchronous processing (component name: async)
- audio pipeline (component name: audio)
- logging (component name: log)
- statistics (component name: stats)
- tsn endpoint (component name: tsn)
Each of the components provides:
- A cmake submodule file: rtos_apps_<component>.cmake
- One or more header file(s): rtos_apps/<component>.h or rtos_apps/<component>/<file>.h
On the applications' CMake, add the following lines:
set(RTOS_APPS_DIR /path/to/rtos-apps)
set(RTOS_APPS_TARGET <application target name>)
include(${RTOS_APPS_DIR}/rtos_apps_<component_a>.cmake)
...
include(${RTOS_APPS_DIR}/rtos_apps_<component_b>.cmake)set(RTOS_APPS_DIR /path/to/rtos-apps)
set(RTOS_APPS_TARGET <application target name>)
include(${RTOS_APPS_DIR}/rtos_apps_<component_a>.cmake)
...
include(${RTOS_APPS_DIR}/rtos_apps_<component_b>.cmake)Sources will be added to the specified target, as well as required include paths. To use the application layer, include the component specific header file(s):
#include <rtos_apps/<component>.h>or
#include <rtos_apps/<component>/<file>.h>