Astro~/0.3
** Docs / Guides * PAGE 05 / 27
** Astro * Docs
** /docs/guides

Guides

Worked chains, each backed by a runnable program in the repository.

Every page here builds something end to end and shows the real output. The complete program for each one lives in examples/, so you can run it, break it, and see what changes.

Read the stack first if you have not. Every guide assumes it.

The core chain

Start here. These four cover the layers every mission uses, and the rest build on them.

GuideWhat it builds
DownlinkTelemetry from a spacecraft to the ground: packets, frames, CADUs, and back
UplinkCommands to a spacecraft, with COP-1 making sure they arrive
A lossy linkWhat happens when frames are dropped and corrupted, and how four separate mechanisms cope
A full-duplex linkThe two directions joined, with the CLCW riding home in the OCF

Above the frames

What the bytes mean, and moving things bigger than a packet.

GuideWhat it builds
PUS servicesFive ECSS services working together: verification, housekeeping, events, scheduling, monitoring
A mission databaseDecoding from an XTCE file instead of hand-written structs, with calibration
File downlinkMoving a whole file with CFDP, noticing the hole in it, and filling it
Time correlationTurning a drifting on-board counter into a real timestamp

Beside the frames

Alternatives and additions at the data link layer.

GuideWhat it builds
AOS high-rate downlinkPackets, a raw bitstream and opaque blocks on three virtual channels
Secure a linkAES-GCM on the downlink, AES-CMAC on the uplink, and three attacks failing
CompressionRice coding for science data, POCKET+ for housekeeping
DTNStore and forward, for when the link is not up

Getting data around, and getting it wrong

GuideWhat it builds
Ground stationAn SLE session pulling frames from an antenna to a control centre
Compose a linkOne configuration value building both ends, so they cannot drift apart
Debug a captureA binary file, no documentation, and a question about what is in it

One thing every guide repeats

Several protocols here hand you a state machine and no clock: COP-1, CFDP, LTP and SLE all leave the timers to you, deliberately, because on a link with an hour-long round trip only the mission knows what a sensible timeout is.

All four of them also deadlock silently if you never run those timers. If you read only one warning from these pages, read that one.