Astro is an open-source Go (Golang) library that aims to implement all CCSDS (Consultative Committee for Space Data Systems) protocols. This project provides a comprehensive, idiomatic, and efficient implementation of these standards for use in space-related applications.
The CCSDS protocols are a set of international standards designed to ensure interoperability in space data systems. By implementing these protocols in Go, Astro aims to:
- Simplify the development of space data systems.
- Provide reusable, modular components for space-related applications.
- Enable easy integration with other tools and libraries in the Go ecosystem.
- Idiomatic Go design, adhering to best practices.
- Modular and extensible architecture.
- Comprehensive documentation and examples.
- Implement a full suite of CCSDS protocols.
- Provide thorough documentation, including use cases and examples.
- Ensure high performance and reliability for production use.
- Foster community collaboration to enhance and expand the library.
Astro is currently under active development. The library will be available for use once the initial protocols are implemented. To stay updated, please follow the project progress on GitHub.
Implementation of all CCSDS protocols, including:
Protocol | Status |
---|---|
CCSDS 121.0-B-3 - Lossless Data Compression | |
CCSDS 122.0-B-2 - Image Data Compression | |
CCSDS 122.1-B-1 - Spectral Preprocessing Transform for Multispectral and Hyperspectral Image Compression | |
CCSDS 123.0-B-2 - Low-Complexity Lossless and Near-Lossless Multispectral and Hyperspectral Image Compression | |
CCSDS 124.0-B-1 - Robust Compression of Fixed-Length Housekeeping Data | |
CCSDS 131.0-B-5 - TM Synchronization and Channel Coding | |
CCSDS 131.2-B-2 - Flexible Advanced Coding and Modulation Scheme for High Rate Telemetry Applications | |
CCSDS 131.3-B-2 - CCSDS Space Link Protocols over ETSI DVB-S2 Standard | |
CCSDS 132.0-B-3 - TM Space Data Link Protocol | |
CCSDS 133.0-B-2 - Space Packet Protocol | ✅ |
CCSDS 133.1-B-3 - Encapsulation Packet Protocol | |
CCSDS 141.0-B-1 - Optical Communications Physical Layer | |
CCSDS 142.0-B-1 - Optical Communications Coding and Synchronization | |
CCSDS 211.0-B-6 - Proximity-1 Space Link Protocol-Data Link Layer | |
CCSDS 211.1-B-4 - Proximity-1 Space Link Protocol--Physical Layer | |
CCSDS 211.2-B-3 - Proximity-1 Space Link Protocol--Coding and Synchronization Sublayer | |
CCSDS 231.0-B-4 - TC Synchronization and Channel Coding | |
CCSDS 232.0-B-4 - TC Space Data Link Protocol | |
CCSDS 301.0-B-4 - Time Code Formats |
This project is licensed under the Apache 2.0 License.
We welcome contributions from the community! If you are interested in contributing:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with a clear description of the changes.
Follow us on social media for updates, progress, and insights:
- Twitter: @ravi_suhag
Feel free to star this repository to stay updated with new releases!