Module satrs_core::tmtc
source · Expand description
Telemetry and Telecommanding (TMTC) module. Contains packet routing components with special support for CCSDS and ECSS packets.
The distributor modules provided by this module use trait objects provided by the user to directly dispatch received packets to packet listeners based on packet fields like the CCSDS Application Process ID (APID) or the ECSS PUS service type. This allows for fast packet routing without the overhead and complication of using message queues. However, it also requires
Re-exports
pub use ccsds_distrib::CcsdsDistributor;
pub use ccsds_distrib::CcsdsError;
pub use ccsds_distrib::CcsdsPacketHandler;
pub use pus_distrib::PusDistributor;
pub use pus_distrib::PusServiceProvider;
Modules
- CCSDS packet routing components.
- ECSS PUS packet routing components.
Structs
Traits
- Generic trait for object which can receive CCSDS space packets, for example ECSS PUS packets for CCSDS File Delivery Protocol (CFDP) packets.
- Extension trait of ReceivesTcCore which allows downcasting by implementing Downcast and is also sendable.
- Generic trait for object which can receive any telecommands in form of a raw bytestream, with no assumptions about the received protocol.
- Extension trait of TmPacketSourceCore which allows downcasting by implementing Downcast and is also sendable.
- Generic trait for a TM packet source, with no restrictions on the type of TM. Implementors write the telemetry into the provided buffer and return the size of the telemetry.