Astro~/0.4
** Protocols
** Astro * Protocols
** /protocols

Protocols

Every standard Astro implements, grouped by where it sits in the stack.

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

LayerWhat sits there
Packets and transportThe unit an application sends, and moving files and bundles across a network of themSPP, EPP, CFDP, LTP, BP, BPSec
Space data linkTransfer frames in both directions, plus reliable delivery and securityTM, TC, AOS, USLP, Proximity-1, COP-1, SDLS
Coding and synchronizationFinding frame boundaries, and surviving bit errors without a resendTMSC, TCSC, PXSC, OCSC
Ground to groundMoving frames between a ground station and a control centreSLE, CSTS
CompressionShrinking data losslessly before it goes down the linkLDC, RHC
Time, payload, databaseHow timestamps are written, what goes inside a packet, what the octets meanTime codes, PUS, XTCE, ODM, TDM, ADM, CDM, NDM

Shared internals

Not protocols, but packages you may end up importing.

PackageWhat it is
pkg/crcCRC checksums used across the standards. CRC-16-CCITT and friends.
pkg/sdnvSelf-Delimiting Numeric Values, shared by LTP and BP.
pkg/sdlShared data link primitives — channels, multiplexers, gap detection: used by TM, TC, AOS, and USLP.
pkg/stackBuilds 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.