#packet #structures #codec #data #free-rtos #pus-c

nightly prust_core

A crate for encoding/decoding PUS-C packet data structures with ease

4 releases

0.1.3 Apr 23, 2021
0.1.2 Apr 23, 2021
0.1.1 Apr 22, 2021
0.1.0 Apr 22, 2021

#939 in Data structures


Used in prust_test

Custom license

110KB
2.5K SLoC

crates.io API WIKI

Prust-Core

This crate is device independent and is designed to create and read PUS-C packets. This crate doesn't require rust-std.

Requirements

Rust nightly is required. To change the channel you can type:

rustup default nightly   

Supported Services of PUS-C

Currently Prust-Core supports the following services from PUS-C:

  • ST[01] request verification

    Code Description
    TM[1,1] successful acceptance verification report
    TM[1,2] failed acceptance verification report
    TM[1,3] successful start of execution verification report
    TM[1,4] failed start of execution verification report
    TM[1,5] successful progress of execution verification report
    TM[1,6] failed progress of execution verification report
    TM[1,7] successful completion of execution verification report
    TM[1,8] failed completion of execution verification report
    TM[1,10] failed routing verification report
  • ST[03] housekeeping

    Code Description
    TC[3,1] create a housekeeping parameter report structure
    TC[3,5] enable the periodic generation of housekeeping parameter reports
    TC[3,6] disable the periodic generation of housekeeping parameter reports
    TM[3,25] housekeeping parameter report
    TC[3,27] generate a one shot report for housekeeping parameter report structures
  • ST[08] function management

    Code Description
    TC[8,1] perform a function

Testing

To do unit testing in std enter:

cargo test

Example

An example usage can be found in Prust-FreeRTOS for the VST104.
The document of the process can also be bound on the wiki: How To Build On VST104

Dependencies

~1MB
~18K SLoC