Concise Description
A generalized, configurable Python library for decoding CCSDS telemetry packets, including complex and polymorphic structures, from files, buffers, or sockets using XTCE packet structure definitions.
Description
The Space Packet Parser Python library is a generalized, configurable packet decoding library for CCSDS telemetry packets based on the XTCE standard for packet structure definitions. It supports complex and polymorphic packet structures, using the XTCE UML model to represent dynamic inheritance structures and conditionals based on previously parsed data fields. The core functionality of the library is the configuration of an XtcePacketDefinition object from a static XTCE XML document. The configured definition object can then iterate over binary data, parsing and yielding parsed Packet objects containing the decoded packet field values in a generator pattern. The binary data may originate from an in-memory binary object, a buffered file reader opened in binary mode, or a python socket object; in every case, a small buffer is used to read chunks of data to reduce memory footprint. The space_packet_parser library supports robust error handling, is capable of handling malformed packet structures, and can dynamically parse muxed APID packet streams. In addition to the low-level parsing API, the library provides built-in packet bytes generators for CCSDS, fixed-length, and UDP packet streams as well as support for user-written generators for other binary formats, on-the-fly polynomial and spline calibration of raw parameter values, enumerated and string parameter decoding, and optional creation of Xarray Datasets keyed by APID. It can also build XTCE packet definitions from Python objects and serialize them to XML, validate XTCE documents against the XTCE schema and for internal structural consistency, and provides a command line interface (spp) for describing XTCE documents, inspecting packet files, and validating definitions.
Authors
Functionality
Technical Details
Data & File Formats
Science Context
Keywords
Related Items
Licensing & Funding
Version Information