Astro~/0.4
** Docs
** Astro * Docs
** /docs

Introduction

Conformance-tested CCSDS and ECSS protocols for building spacecraft and ground software.

Astro is a Go library and command line tool for the protocols spacecraft use to talk to the ground. It implements the CCSDS and ECSS standards that NASA, ESA, JAXA and others run their missions on.

Every protocol package takes nothing outside the Go standard library, so a mission integrating one does not inherit a dependency tree. The command line tool is the exception: it uses a few libraries of its own.

Start here

New to Astro: Install it, then build your first packet in the Go quickstart or the CLI quickstart.

New to CCSDS: read the stack. It explains how a sensor reading becomes radio symbols, and which package does which part. Every protocol page assumes you have read it.

Looking for a specific standard: the protocol index lists all 29, grouped by layer.

Lost in the acronyms: the glossary expands every one, grouped by layer.

Debugging a capture: read debug a real capture, which works one out end to end from the terminal. The CLI reference has every command.

Build something

Fifteen worked chains, each backed by a runnable program in the repository. The guide index lists them all; these are the ones to read first:

  • Downlink, telemetry from a spacecraft to the ground, packets through frames to CADUs.
  • Uplink, commands from the ground to a spacecraft, with reliable delivery.
  • A lossy link, what happens when frames get dropped and corrupted, and how the protocols cope.
  • A full-duplex link, both directions joined, with the CLCW riding home.

Then, depending on what you are building:

What is covered

29 standards across transport, data link, coding and synchronization, ground-to-ground transfer, compression, time, packet utilization, and mission databases. Every one has a scope statement saying what Astro implements and what it leaves to you, plus a conformance page.

Before you trust any of it, read how this is verified: it says which claims rest on a published test vector and which rest on a reading of the standard. Performance has the measured throughput of every layer, and security covers what happens when the octets are hostile.

See the protocol index for the full list.

What Astro is not

It is not a mission control system, and it is not a flight software framework. It is the wire format layer that both of those need. It moves bytes correctly and tells you when they are wrong.

** Conformance-tested CCSDS and ECSS protocols for building spacecraft and ground software. **