Objective
As a sub-task of Issue #11, decouple the telemetry transmission from the high-speed 250Hz App_Sensor_Task to prevent potential execution delays and adhere to industry-standard FC architectures.
- Create a dedicated
App_Telemetry_Task running at 50Hz (20ms loop time).
- Implement an
osMessageQueue to act as a thread-safe thread-safe conduit between the Sensor Task and Telemetry Task.
- Pass
ActuatorState_t data through the queue to eliminate Race Conditions and Data Tearing.
- Trigger
TelemetryManager::send() exclusively via DMA within this new isolated task.
Objective
As a sub-task of Issue #11, decouple the telemetry transmission from the high-speed 250Hz
App_Sensor_Taskto prevent potential execution delays and adhere to industry-standard FC architectures.App_Telemetry_Taskrunning at 50Hz (20ms loop time).osMessageQueueto act as a thread-safe thread-safe conduit between the Sensor Task and Telemetry Task.ActuatorState_tdata through the queue to eliminate Race Conditions and Data Tearing.TelemetryManager::send()exclusively via DMA within this new isolated task.