Astro~/0.3
** Conformance / AOS Space Data Link Protocol * PAGE 09 / 23
** Astro * Conformance
** /conformance/aos

AOS Space Data Link Protocol

PICS proforma: what this package implements, clause by clause.

Conformance Statement for pkg/aos, CCSDS 732.0-B-4


A1.1 GENERAL INFORMATION

A1.1.1 Identification of PICS

FieldValue
Date of Statement (DD/MM/YYYY)23/08/2026
PICS Serial NumberASTRO-AOS-PICS-001
System Conformance Statement Cross-ReferenceThis document

A1.1.2 Identification of Implementation Under Test (IUT)

FieldValue
Implementation Nameastro/pkg/aos
Implementation VersionSee go.mod / latest commit on main
Special ConfigurationNone
Other InformationGo library implementing CCSDS AOS Space Data Link Protocol. Full pipeline: PhysicalChannel (MC mux/demux) -> MasterChannel (VC mux, 24-bit gap detection) -> VirtualChannel (frame buffer) -> Services (M_PDU with packet spanning via FHP and SPP idle-packet fill, B_PDU with bitstream pointer, VCA with exact-fill SDUs, VCF for raw frame ingest). Partial M_PDU packet zones are completed with SPP idle packets (APID 0x7FF) per clause 4.1.4.2.2; oversized partial B_PDU payloads split across frames rather than clamping the pointer; the idle fill pattern is configurable per channel.

A1.1.3 Identification of Supplier

FieldValue
SupplierRavi Suhag
Contact Point for QueriesGitHub, github.com/ravisuhag/astro
Implementation Name(s) and Version(s)astro/pkg/aos (Go package)
System Name(s)Astro

A1.1.4 Identification of Specification

FieldValue
SpecificationCCSDS 732.0-B-4 (AOS Space Data Link Protocol, Blue Book, Issue 4, August 2021)
Have any exceptions been required?Yes [ ] No [X]

A1.2 PROTOCOL FEATURES

FeatureReferenceStatusSupport
Transfer Frame Version Numberclause 4.1.2.2MY: TFVN = 1 (0b01)
Spacecraft Identifierclause 4.1.2.3MY: 8-bit SCID (0-255)
Virtual Channel Identifierclause 4.1.2.4MY: 6-bit VCID (0-63)
Virtual Channel Frame Countclause 4.1.2.5MY: 24-bit per-VC counter with wrap
Replay Flagclause 4.1.2.5.2MY: 1-bit signaling field
VC Frame Count Usage Flagclause 4.1.2.5.3MY: 1-bit signaling field
Signaling Reserved Sparesclause 4.1.2.5.4MY: encoded as '00'; validated on decode
VC Frame Count Cycleclause 4.1.2.5.5MY: 4-bit signaling field
Frame Header Error Controlclause 4.1.2.6OY: RS(10,6) over GF(2^4); check symbols generated on encode, verified on decode (error detection; correction of up to E=2 symbols not performed, failing frames are rejected)
Insert Zoneclause 4.1.3OY: Fixed length per physical channel
Transfer Frame Data Fieldclause 4.1.4MY: Carries M_PDU, B_PDU, or VCA
Operational Control Fieldclause 4.1.5OY: Optional 4-byte OCF
Frame Error Control Fieldclause 4.1.6OY: CRC-16-CCITT

A1.3 SERVICES

FeatureReferenceStatusSupport
Multiplexing PDU (M_PDU)clause 3.3.2OY: Packet spanning with FHP-based resync; partial packet zones completed with SPP idle packets, discarded by APID on extraction
Bitstream PDU (B_PDU)clause 3.3.3OY: Bitstream Data Pointer with full/partial frames; partials larger than the pointer can express are split across frames
Virtual Channel Access (VCA)clause 3.3.4OY: Constant-length SDU exactly fills the data field; short/long SDUs rejected
Virtual Channel Frame (VCF)clause 3.3.5OY: Raw frame ingest/emit
Only Idle Data (OID)clause 4.1.2.4MY: VCID 63 reserved; idle frames run their own VC 63 frame count; fill pattern configurable

A1.4 CHANNEL MANAGEMENT

FeatureReferenceStatusSupport
Physical Channelclause 3.2.1MY: PhysicalChannel with MC multiplexing
Master Channelclause 3.2.2MY: MasterChannel with VC multiplexing
Virtual Channelclause 3.2.3MY: VirtualChannel with frame buffering
Frame Gap Detectionclause 3.3MY: Per-VC 24-bit count tracking
VC Multiplexingclause 3.3.2MY: Weighted round-robin via SDL
MC Multiplexingclause 3.3.3MY: Weighted round-robin via SDL

Legend: M = Mandatory, O = Optional, C = Conditional, Y = Yes (supported), N = No (not supported)