29 standards, one pkg/ protocol package each. (Conformance statements run
to 30: TM Data Link ships both a CCSDS and an ECSS statement from the one
package.) If you are not sure which one you need, read
the stack first. It explains how a sensor reading
becomes radio symbols and which package does each step.
Every protocol page opens the same way: what Astro implements and what it leaves to you. From there the shape follows the standard. A wire format gets a field map from wire fields to Go fields and a list of the rules that bite, while a coding or compression standard gets a walkthrough of the chain instead. The Go API is on the same page, and each has a conformance statement in its own section.
By layer
| Layer | What sits there | |
|---|---|---|
| Packets and transport | The unit an application sends, and moving files and bundles across a network of them | SPP, EPP, CFDP, LTP, BP, BPSec |
| Space data link | Transfer frames in both directions, plus reliable delivery and security | TM, TC, AOS, USLP, Proximity-1, COP-1, SDLS |
| Coding and synchronization | Finding frame boundaries, and surviving bit errors without a resend | TMSC, TCSC, PXSC, OCSC |
| Ground to ground | Moving frames between a ground station and a control centre | SLE, CSTS |
| Compression | Shrinking data losslessly before it goes down the link | LDC, RHC |
| Time, payload, database | How timestamps are written, what goes inside a packet, what the octets mean | Time codes, PUS, XTCE, ODM, TDM, ADM, CDM, NDM |
Shared internals
Not protocols, but packages you may end up importing.
| Package | What it is |
|---|---|
pkg/crc | CRC checksums used across the standards. CRC-16-CCITT and friends. |
pkg/sdnv | Self-Delimiting Numeric Values, shared by LTP and BP. |
pkg/sdl | Shared data link primitives — channels, multiplexers, gap detection: used by TM, TC, AOS, and USLP. |
pkg/stack | Builds both ends of a downlink or uplink from one configuration, so they cannot drift apart. See compose a link. |
Out of scope
Astro serves mission management: commanding, telemetry, spacecraft health and pass operations. Payload data processing is a separate system, so the image and cube compressors are not on the list — CCSDS 122.0-B-2, 122.1-B-1 and 123.0-B-2. Astro carries a payload file down and proves it arrived intact. What the pixels mean afterwards belongs to the science pipeline.
Housekeeping compression is a different matter and is already here. pkg/rhc
and pkg/ldc both compress spacecraft health data, which is an operations
concern.
For what astro would still take, see adding a protocol.