Class Receiver

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Receiver : public lupnt::Device

Generic radio receiver device: binds to a named Channel and collects incoming data from it.

Used as the base for measurement-generating receivers (e.g. GnssReceiver in space_comms.h) attached to a satellite/rover/ ground-station Agent; received payloads accumulate in data_ for downstream measurements/ processing.

Subclassed by lupnt::GnssReceiver

Public Functions

Receiver() = default
Receiver(Config &config)

Construct a receiver from a YAML config node (see Device::Device(Config&)).

virtual void Step(Real t) override

Receiver device step; currently a no-op placeholder. Overrides Device::Step.

virtual void Setup() override

Resolve and bind channel_ from config_["channel"] via the owning agent’s Simulation::GetChannel. Overrides Device::Setup; logs a warning if no "channel" key is configured.

virtual void Receive(Real t)

Notify this receiver that the channel has data available, without an explicit payload.

Parameters:

tSimulation time of the receive event [s]

virtual void Receive(Real t, void *data)

Append an incoming payload data (received via channel_) to data_ at time t.

Parameters:
  • tSimulation time of the receive event [s]

  • data – Pointer to the received payload (ownership/type defined by the specific Channel/measurement model)

Protected Attributes

Channel *channel_
std::vector<void*> data_