diff --git a/include/sta/rtos/system/startup.hpp b/include/sta/rtos/system/startup.hpp index 5ae2979..d34d43a 100644 --- a/include/sta/rtos/system/startup.hpp +++ b/include/sta/rtos/system/startup.hpp @@ -54,14 +54,17 @@ namespace sta { - /** - * @brief Extra initialization run at start of startup task. - * - * May be overridden by application if required. - * - * @ingroup STA_RTOS_Startup - */ - void startupExtras(void * argument); + namespace rtos + { + /** + * @brief Extra initialization run at start of startup task. + * + * May be overridden by application if required. + * + * @ingroup STA_RTOS_Startup + */ + void startupExtras(void * argument); + } // namespace rtos } // namespace sta diff --git a/include/sta/rtos/system/system_event.hpp b/include/sta/rtos/system/system_event.hpp index 3e84ae9..f6465f3 100644 --- a/include/sta/rtos/system/system_event.hpp +++ b/include/sta/rtos/system/system_event.hpp @@ -56,42 +56,45 @@ namespace sta { - /** - * @brief Signal system events. - * - * @param flags System event flags - * - * @ingroup STA_RTOS_SysEvent - */ - void signalSystemEvents(uint32_t flags); + namespace rtos + { + /** + * @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 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 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(); + /** + * @brief Wait for startup system event. + * + * Blocking while waiting + * + * @ingroup STA_RTOS_SysEvent + */ + void waitForStartupEvent(); + } // namespace rtos } // namespace sta diff --git a/include/sta/rtos/system/watchdog.hpp b/include/sta/rtos/system/watchdog.hpp index 94463d4..d74c5ce 100644 --- a/include/sta/rtos/system/watchdog.hpp +++ b/include/sta/rtos/system/watchdog.hpp @@ -108,31 +108,34 @@ namespace sta { - /** - * @brief Start heartbeat timer for watchdog. - * - * @ingroup STA_RTOS_Watchdog - */ - void startWatchdogTimer(); - /** - * @brief Send notification to watchdog task. - * - * @ingroup STA_RTOS_Watchdog - */ - void notifyWatchdog(uint32_t flags); + namespace rtos + { + /** + * @brief Start heartbeat timer for watchdog. + * + * @ingroup STA_RTOS_Watchdog + */ + void startWatchdogTimer(); + /** + * @brief Send notification to watchdog task. + * + * @ingroup STA_RTOS_Watchdog + */ + void notifyWatchdog(uint32_t flags); - /** - * @brief Handler for watchdog events. - * - * Must be implemented by application. - * - * @param arg Watchdog task argument - * @param flags Event flags - * - * @ingroup STA_RTOS_Watchdog - */ - void watchdogEventHandler(void * arg, uint32_t flags); + /** + * @brief Handler for watchdog events. + * + * Must be implemented by application. + * + * @param arg Watchdog task argument + * @param flags Event flags + * + * @ingroup STA_RTOS_Watchdog + */ + void watchdogEventHandler(void * arg, uint32_t flags); + } // namespace rtos } // namespace sta diff --git a/src/system/startup.cpp b/src/system/startup.cpp index dd4647d..9e31530 100644 --- a/src/system/startup.cpp +++ b/src/system/startup.cpp @@ -11,10 +11,13 @@ namespace sta { - // Provide weak implementation to allow overriding - STA_WEAK - void startupExtras(void *) - {} + namespace rtos + { + // Provide weak implementation to allow overriding + STA_WEAK + void startupExtras(void *) + {} + } // namespace rtos } // namespace sta @@ -24,20 +27,20 @@ extern "C" void STA_RTOS_STARTUP_ENTRY_FUNCTION(void * arg) { // Call further initialization code - sta::startupExtras(arg); + sta::rtos::startupExtras(arg); // Initialize HAL sta::initHAL(); #ifdef STA_RTOS_WATCHDOG_ENABLE // Start timers - sta::startWatchdogTimer(); + sta::rtos::startWatchdogTimer(); #endif // STA_RTOS_WATCHDOG_ENABLE - // Wake tasks - sta::signalStartupEvent(); + // Wake threads + sta::rtos::signalStartupEvent(); - // Terminate task + // Terminate thread osThreadExit(); } } diff --git a/src/system/system_event.cpp b/src/system/system_event.cpp index dcd2b4e..7e96fa9 100644 --- a/src/system/system_event.cpp +++ b/src/system/system_event.cpp @@ -14,26 +14,29 @@ extern osEventFlagsId_t STA_RTOS_SYSTEM_EVENT_HANDLE; namespace sta { - void signalSystemEvents(uint32_t flags) + namespace rtos { - osEventFlagsSet(STA_RTOS_SYSTEM_EVENT_HANDLE, flags); - } - - void waitForSystemEvents(uint32_t flags, uint32_t options, uint32_t timeout) - { - osEventFlagsWait(STA_RTOS_SYSTEM_EVENT_HANDLE, flags, options | osFlagsNoClear, timeout); - } - - - void signalStartupEvent() - { - signalSystemEvents(STA_SYSTEM_EVENT_STARTUP); - } + void signalSystemEvents(uint32_t flags) + { + osEventFlagsSet(STA_RTOS_SYSTEM_EVENT_HANDLE, flags); + } - void waitForStartupEvent() - { - waitForSystemEvents(STA_SYSTEM_EVENT_STARTUP, osFlagsWaitAll, osWaitForever); - } + void waitForSystemEvents(uint32_t flags, uint32_t options, uint32_t timeout) + { + osEventFlagsWait(STA_RTOS_SYSTEM_EVENT_HANDLE, flags, options | osFlagsNoClear, timeout); + } + + + void signalStartupEvent() + { + signalSystemEvents(STA_SYSTEM_EVENT_STARTUP); + } + + void waitForStartupEvent() + { + waitForSystemEvents(STA_SYSTEM_EVENT_STARTUP, osFlagsWaitAll, osWaitForever); + } + } // namespace rtos } // namespace sta diff --git a/src/system/watchdog/heartbeat.cpp b/src/system/watchdog/heartbeat.cpp index 37c47eb..0ceb15d 100644 --- a/src/system/watchdog/heartbeat.cpp +++ b/src/system/watchdog/heartbeat.cpp @@ -7,10 +7,13 @@ namespace sta { - void startWatchdogTimer() + namespace rtos { - osTimerStart(WATCHDOG_TIMER_HANDLE, STA_RTOS_WATCHDOG_TIMER_PERIOD); - } + void startWatchdogTimer() + { + osTimerStart(WATCHDOG_TIMER_HANDLE, STA_RTOS_WATCHDOG_TIMER_PERIOD); + } + } // namespace rtos } // namespace sta diff --git a/src/system/watchdog/watchdog.cpp b/src/system/watchdog/watchdog.cpp index ad2d21d..775b9c9 100644 --- a/src/system/watchdog/watchdog.cpp +++ b/src/system/watchdog/watchdog.cpp @@ -11,10 +11,13 @@ namespace sta { - void notifyWatchdog(uint32_t flags) + namespace rtos { - osThreadFlagsSet(WATCHDOG_TASK_HANDLE, flags); - } + void notifyWatchdog(uint32_t flags) + { + osThreadFlagsSet(WATCHDOG_TASK_HANDLE, flags); + } + } // namespace rtos } // namespace sta @@ -23,7 +26,7 @@ extern "C" { void STA_RTOS_WATCHDOG_ENTRY_FUNCTION(void * arg) { - sta::waitForStartupEvent(); + sta::rtos::waitForStartupEvent(); while (true) { @@ -31,7 +34,7 @@ extern "C" uint32_t flags = osThreadFlagsWait(STA_RTOS_THREAD_FLAGS_VALID_BITS, osFlagsWaitAny, osWaitForever); // Call event handler - sta::watchdogEventHandler(arg, flags); + sta::rtos::watchdogEventHandler(arg, flags); } } }