SatCat5
ccsds_spp.h File Reference

Detailed Description

CCSDS Space Packet Protocol.

This file defines SatCat5 networking primitives (i.e., net::Address, net::Dispatch, and net::Protocol), and other utility functions for the CCSDS Space Packet Protocol, Blue Book 133.0-B-2.

Space Packet Protocol (SPP) is intended for point-to-point links, so there is no "address" per-se. Instead, the SatCat5 address/protocol binding is based entirely on the APID field.

Definition in file ccsds_spp.h.

#include <satcat5/io_buffer.h>
#include <satcat5/net_core.h>
#include <satcat5/pkt_buffer.h>
Include dependency graph for ccsds_spp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  satcat5::ccsds_spp::Header
 Helper object for the CCSDS-SPP primary packet header. More...
 
class  satcat5::ccsds_spp::Packetizer
 Find packet boundaries in a raw CCSDS-SPP byte-stream. More...
 
class  satcat5::ccsds_spp::PacketizerStatic< SIZE >
 Packetizer variant with a statically-allocated buffer. More...
 
class  satcat5::ccsds_spp::Address
 Implemention of "net::Address" API for CCSDS-SPP packets. More...
 
class  satcat5::ccsds_spp::Dispatch
 Implemention of "net::Dispatch" API for CCSDS-SPP packets. More...
 
class  satcat5::ccsds_spp::Protocol
 Implemention of "net::Protocol" API for CCSDS-SPP packets. More...
 
class  satcat5::ccsds_spp::BytesToSpp
 Convert a raw byte-stream by inserting CCSDS-SPP headers. More...
 
class  satcat5::ccsds_spp::SppToBytes
 Convert a CCSDS-SPP packet stream by removing CCSDS-SPP headers. More...
 

Variables

constexpr u32 satcat5::ccsds_spp::VERSION_MASK = 0xE0000000u
 
constexpr u32 satcat5::ccsds_spp::TYPE_MASK = 0x10000000u
 
constexpr u32 satcat5::ccsds_spp::SEC_HDR_FLAG = 0x08000000u
 
constexpr u32 satcat5::ccsds_spp::APID_MASK = 0x07FF0000u
 
constexpr u32 satcat5::ccsds_spp::SEQF_MASK = 0x0000C000u
 
constexpr u32 satcat5::ccsds_spp::SEQC_MASK = 0x00003FFFu
 
constexpr u32 satcat5::ccsds_spp::VERSION_1 = (0 << 29)
 
constexpr u32 satcat5::ccsds_spp::TYPE_CMD = (1 << 28)
 
constexpr u32 satcat5::ccsds_spp::TYPE_TLM = (0 << 28)
 
constexpr u32 satcat5::ccsds_spp::SEQF_CONTINUE = (0 << 14)
 
constexpr u32 satcat5::ccsds_spp::SEQF_FIRST = (1 << 14)
 
constexpr u32 satcat5::ccsds_spp::SEQF_LAST = (2 << 14)
 
constexpr u32 satcat5::ccsds_spp::SEQF_UNSEG = (3 << 14)
 
constexpr u16 satcat5::ccsds_spp::APID_IDLE = 0x7FF