SatCat5
satcat5::net::TelemetryAggregator Class Reference

Detailed Description

Protocol-agnostic handler for one or more TelemetryTier objects.

Requires a protocol-specific wrapper for use (see below).

See also
net_telemetry.h, net::TelemetrySink, net::TelemetrySource.

Definition at line 219 of file net_telemetry.h.

#include <net_telemetry.h>

Inheritance diagram for satcat5::net::TelemetryAggregator:
[legend]
Collaboration diagram for satcat5::net::TelemetryAggregator:
[legend]

Public Member Functions

 TelemetryAggregator (bool concat_tiers)
 Constructor and destructor.
 
void telem_concat (bool concat_tiers)
 Change to concatenated or per-tier mode.
 
void telem_send (TelemetryCbor &cbor, u32 tier_id)
 Send data to all attached TelemetrySink objects. More...
 
unsigned timer_interval () const
 Query the polling interval for this aggregator. More...
 

Protected Member Functions

void timer_event () override
 Child class MUST override this method.
 
void timer_once (unsigned msec)
 Configure a one-time notification after X milliseconds.
 
void timer_every (unsigned msec)
 Configure a repeating notification every X milliseconds.
 
void timer_stop ()
 Stop all future notifications.
 
unsigned timer_remaining () const
 Accessor for time to next event, if one is set.
 

Static Protected Member Functions

static unsigned count_timer ()
 Count all objects of this type, including idle timers.
 

Protected Attributes

bool m_tlm_concat
 
satcat5::util::List< satcat5::net::TelemetrySinkm_sinks
 
satcat5::util::List< satcat5::net::TelemetryTierm_tiers
 
u8 m_buff [SATCAT5_QCBOR_BUFFER]
 

Private Member Functions

void query (unsigned elapsed_msec)
 

Private Attributes

satcat5::poll::Timerm_next
 
unsigned m_trem
 
unsigned m_tnext
 

Member Function Documentation

◆ telem_send()

void TelemetryAggregator::telem_send ( TelemetryCbor cbor,
u32  tier_id 
)

Send data to all attached TelemetrySink objects.

This is normally called automatically, but calling it directly may be used for unscheduled messages.

Definition at line 123 of file net_telemetry.cc.

◆ timer_interval()

unsigned satcat5::net::TelemetryAggregator::timer_interval ( ) const
inline

Query the polling interval for this aggregator.

Rate is adjusted automatically based on active sources.

Definition at line 235 of file net_telemetry.h.


The documentation for this class was generated from the following files: