Skip to content

Header-only C++20 library for en/decoding NASA CADU frames

License

Notifications You must be signed in to change notification settings

ssloxford/libcadu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libcadu

This is a header-only C++ library for en/decoding CADU frames, as used in the Terra/Aqua satellite missions. These files are sometimes called "Level 0" data, and can be found at the NASA archives such as LAADS DAAC.

Also contained are the following command-line tools:

  • caduinfo - Displays the header contents of a CADU stream from stdin.
  • cadupack - Pack bytes from stdin into a CADU stream on stdout.
  • caduunpack - Unpack a CADU stream from stdin to stdout.
  • caduhead - Output the first part of a CADU stream from stdin, in whole CADUs, up to a given index.
  • cadutail - Output the last part of a CADU stream from stdin, in whole CADUs, from a given index.

The available command line options are available from each program with the -h flag.

Building

Dependencies:

Building:

make
make install

Further ideas

Detection of whether CADU is a "fill" CADU (as used in gov/nasa/gsfc/drl/rtstps/core/ccsds/CaduService.java) l202

Packet routing system to replace RT-STPS

Related work/documents

NASA have decoders for Level 0 data already implemented in the IPOPP MODISL1DB algorithm available at the Direct Readout Laboratory website.

This wraps the ocssw tools from the OceanColor Data software repositories.

A description of the protocol in found in this document. Note that the checksum, although documented as an XOR, is actually implemented as addition in the official NASA data decoders - we therefore implemented addition as well.

Thanks

Many thanks to Jonathan Tanner for his help in writing this library.

About

Header-only C++20 library for en/decoding NASA CADU frames

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published