Skip to content

OpenSpaceCode/EmbeddedPUS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmbeddedPUS

Minimal ECSS Packet Utilisation Standard (PUS) protocol implementation in C for small-scale space missions.

Standards Compliance

  • ECSS-E-ST-70-41C: Packet Utilisation Standard (PUS)

Features

Core Protocol Implementation

Design Principles

Project Structure

EmbeddedSpacePacket/
├── include/
│   └── 
├── src/
│   └── 
├── examples/
│   └── 
├── tests/
│   ├── cunit.h              # Minimal test framework
│   └── unit_tests.c         # Unit tests
├── scripts/
│   └── coverage_html.sh     # Coverage report
├── build/                   # Build artifacts 
├── Makefile
└── README.md

Building

Build Everything

make

Builds the static library, the example binary and the test binary in build/.

Build Library Only

make lib
# Produces: build/

Build Example

make example
./build/examples/example

Run Tests

make ctest
./build/tests/ctest

Coverage (HTML)

Requires gcovr installed in your system:

sudo apt install gcovr

Generate coverage report:

make coverage-html

Output report:

build/coverage/index.html

Clean

make clean

Quick Start

Step 1

Step 2

Step X

API Reference

Lifecycle

Building a Packet

Utilities

Types

Memory Usage (Estimated)

  • Library (stripped):
  • Serialization buffer:
  • No heap usage: all allocations are caller-supplied

CCSDS XXX — Notes

Limitations

References

License

See LICENSE file.

About

Minimal ECSS Packet Utilisation Standard (PUS) protocol implementation in C for small-scale space missions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors