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 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.

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.

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.