mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/rtos2-utils.git
synced 2025-08-06 11:07:34 +00:00
Move system event files
This commit is contained in:
100
include/sta/rtos/system/system_event.hpp
Normal file
100
include/sta/rtos/system/system_event.hpp
Normal file
@@ -0,0 +1,100 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief Implementation of system events.
|
||||
*/
|
||||
#ifndef STA_RTOS_SYSTEM_SYSTEM_EVENT_HPP
|
||||
#define STA_RTOS_SYSTEM_SYSTEM_EVENT_HPP
|
||||
|
||||
#include <sta/rtos/system/names.hpp>
|
||||
|
||||
|
||||
/**
|
||||
* @defgroup STA_RTOS_SysEvent System Events
|
||||
* @ingroup STA_RTOS_API
|
||||
* @brief System events.
|
||||
*
|
||||
* Check @ref STA_RTOS_BuildConfig for configuration options.
|
||||
*/
|
||||
|
||||
#ifdef DOXYGEN
|
||||
/**
|
||||
* @brief Enable module.
|
||||
*
|
||||
* @ingroup STA_RTOS_BuildConfig
|
||||
*/
|
||||
# define STA_RTOS2_SYSTEM_EVENT_ENABLE
|
||||
#endif // DOXYGEN
|
||||
|
||||
|
||||
/**
|
||||
* @def STA_RTOS_SYSTEM_EVENT_NAME
|
||||
* @brief Set name of system event flags.
|
||||
*
|
||||
* @ingroup STA_RTOS_BuildConfig
|
||||
*/
|
||||
#ifndef STA_RTOS_SYSTEM_EVENT_NAME
|
||||
# define STA_RTOS_SYSTEM_EVENT_NAME systemEvent
|
||||
#endif // !STA_RTOS_SYSTEM_EVENT_NAME
|
||||
|
||||
|
||||
#include <sta/config.hpp>
|
||||
#ifdef STA_RTOS_SYSTEM_EVENT_ENABLE
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
|
||||
// System event flags
|
||||
//
|
||||
|
||||
/**
|
||||
* @brief Startup system event flag.
|
||||
*
|
||||
* @ingroup STA_RTOS_SysEvent
|
||||
*/
|
||||
#define STA_SYSTEM_EVENT_STARTUP 0x100000U
|
||||
|
||||
|
||||
namespace sta
|
||||
{
|
||||
/**
|
||||
* @brief Signal system events.
|
||||
*
|
||||
* @param flags System event flags
|
||||
*
|
||||
* @ingroup STA_RTOS_SysEvent
|
||||
*/
|
||||
void signalSystemEvents(uint32_t flags);
|
||||
|
||||
/**
|
||||
* @brief Wait for system events.
|
||||
*
|
||||
* @param flags System event flags
|
||||
* @param options osFlagsWaitAll or osFlagsWaitAny (osFlagsNoClear always set)
|
||||
* @param timeout Wait timeout (0 = instant, osWaitForever = infinite)
|
||||
*
|
||||
* @ingroup STA_RTOS_SysEvent
|
||||
*/
|
||||
void waitForSystemEvents(uint32_t flags, uint32_t options, uint32_t timeout);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Signal startup system event.
|
||||
*
|
||||
* @ingroup STA_RTOS_SysEvent
|
||||
*/
|
||||
void signalStartupEvent();
|
||||
|
||||
/**
|
||||
* @brief Wait for startup system event.
|
||||
*
|
||||
* Blocking while waiting
|
||||
*
|
||||
* @ingroup STA_RTOS_SysEvent
|
||||
*/
|
||||
void waitForStartupEvent();
|
||||
} // namespace sta
|
||||
|
||||
|
||||
#endif // STA_RTOS_SYSTEM_EVENT_ENABLE
|
||||
|
||||
#endif // STA_RTOS_SYSTEM_SYSTEM_EVENT_HPP
|
Reference in New Issue
Block a user