SystemTaskRunner class final
#include <system/system_task_runner.hpp>
System maintenance task runner.
This task owns watchdog feeding, status LED blink policy, periodic runtime diagnostics logging, and deferred reboot execution requested through control API.
Public types
- using DeferredInitHook = bool(*)(void*user_ctx)
-
using PeriodicHook = void(*)(void*user_ctx, uint64_t now_
ms) - enum class RadioStage: uint8_t { Boot = 0, InitLoop = 1, InitRetryWait = 2, WorkerRunning = 3, WorkerReturned = 4 }
Constructors, destructors, conversion operators
-
SystemTaskRunner(TaskHandle_
t* self_handle_slot, TaskHandle_ t* network_handle_slot, TaskHandle_ t* control_handle_slot, TaskHandle_ t* coap_handle_slot, TaskHandle_ t* radio1_handle_slot, TaskHandle_ t* radio2_handle_slot, TaskHandle_ t* pppos_handle_slot, std::atomic<uint8_t>& radio1_stage, RuntimeSystemService& system_status_service, IConnectivityStateSource& connectivity_state, TaskHealthMonitor& task_health_monitor)
Public functions
- auto prepare() -> bool
- One-time GPIO initialization for LED outputs.
- void run()
- Runs system maintenance loop forever.
- void set_deferred_init_hook(DeferredInitHook hook, void* user_ctx)
- Sets optional deferred initialization hook executed from system task loop.
- void set_periodic_hook(PeriodicHook hook, void* user_ctx)
- Sets optional periodic hook executed from the system task loop.
- void set_status_led_policy_enabled(bool enabled)
- Enables or disables the status LED blink policy controlled by connectivity state.