Telemetry Service¶
- group Telemetry Service
Collects, organizes, and exposes system-wide data.
The Telemetry service decouples data collection from data transmission. It ensures that when the OBC requests a status update, the data is already aggregated and ready to read.
- group Types
Types for telemetry.
-
struct uart_telemetry_t¶
- #include <telemetry.h>
Telemetry snapshot for a single UART port.
-
struct eps_telemetry_t¶
- #include <telemetry.h>
The Master Telemetry Packet.
This structure contains a snapshot of the entire EPS state. It may include nested structures from other services.
Public Members
-
battery_status_t battery¶
BMS status telemetry
-
mppt_channel_t mppt_channels[NUM_MPPT_CHANNELS]¶
Solar/MPPT channels telemetry
-
redundancy_telemetry_t redundancy¶
Redundancy manager telemetry
-
uart_telemetry_t uart1¶
USART1 telemetry
-
uart_telemetry_t uart3¶
USART3 telemetry
-
battery_status_t battery¶
-
struct telemetry_t¶
- #include <telemetry.h>
Service state container.
Holds the actual instance data for the telemetry service, including the current snapshot of the system state.
Public Members
-
eps_telemetry_t telemetry¶
The current aggregated data snapshot.
-
uint32_t tick_counter¶
Internal counter for timing telemetry collection
-
bool initialized¶
Whether the telemetry service has been initialized
-
eps_telemetry_t telemetry¶
-
struct uart_telemetry_t¶
- group Public API
Functions for updating and retrieving telemetry.
Functions
-
void telemetry_init(telemetry_t *telemetry)¶
Initialize the Telemetry aggregator instance.
Prepares the internal data structures and zeroes out the telemetry packet within the provided handle.
- Parameters:
telemetry – [out] Pointer to the telemetry service instance to initialize.
-
void telemetry_update(telemetry_t *telemetry)¶
Periodic update task.
This function queries all other active services (Battery, Rails, etc.) to get their latest status and updates the snapshot inside the provided handle.
- Parameters:
telemetry – [inout] Pointer to the telemetry service instance to update.
-
eps_telemetry_t telemetry_get_all(telemetry_t *telemetry)¶
Retrieve the latest full system snapshot.
- Parameters:
telemetry – [in] Pointer to the telemetry service instance to read from.
- Returns:
eps_telemetry_t A copy of the aggregated telemetry data.
-
void telemetry_init(telemetry_t *telemetry)¶