CCSDS 124.0-B-1 C++ 1.0.0
CCSDS 124.0-B-1 Lossless Compression
Loading...
Searching...
No Matches
ccsds124::Decompressor< N > Class Template Reference

CCSDS 124.0-B-1 decompressor with static memory allocation. More...

#include <decompressor.hpp>

Public Member Functions

 Decompressor (std::uint8_t robustness=0) noexcept
 Construct decompressor with configuration.
 
void set_initial_mask (const BitVector< N > &initial_mask) noexcept
 Set the initial mask.
 
void reset () noexcept
 Reset decompressor to initial state.
 
Error decompress_packet (BitReader &reader, BitVector< N > &output) noexcept
 Decompress a single compressed packet.
 
std::size_t time_index () const noexcept
 Get current time index.
 
std::uint8_t robustness () const noexcept
 Get robustness level.
 
const BitVector< N > & mask () const noexcept
 Get current mask.
 

Detailed Description

template<std::size_t N>
class ccsds124::Decompressor< N >

CCSDS 124.0-B-1 decompressor with static memory allocation.

Template class that implements the CCSDS 124.0-B-1 decompression algorithm. All memory is statically allocated based on template parameters.

Template Parameters
NPacket length in bits (F)

Definition at line 45 of file decompressor.hpp.

Constructor & Destructor Documentation

◆ Decompressor()

template<std::size_t N>
ccsds124::Decompressor< N >::Decompressor ( std::uint8_t  robustness = 0)
inlineexplicitnoexcept

Construct decompressor with configuration.

Parameters
robustnessBase robustness level R_t (0-7)

Definition at line 52 of file decompressor.hpp.

References ccsds124::Decompressor< N >::reset().

Member Function Documentation

◆ decompress_packet()

template<std::size_t N>
Error ccsds124::Decompressor< N >::decompress_packet ( BitReader reader,
BitVector< N > &  output 
)
inlinenoexcept

Decompress a single compressed packet.

Parameters
readerBit reader positioned at packet start
outputDecompressed output packet (length N)
Returns
Error::Ok on success

Definition at line 85 of file decompressor.hpp.

References ccsds124::bit_insert(), ccsds124::count_decode(), ccsds124::BitVector< N >::data(), ccsds124::detail::extract_msb(), ccsds124::BitVector< N >::get_bit(), ccsds124::BitVector< N >::hamming_weight(), ccsds124::Ok, ccsds124::BitVector< N >::or_of(), ccsds124::rle_decode(), and ccsds124::Underflow.

Referenced by ccsds124::decompress().

◆ mask()

template<std::size_t N>
const BitVector< N > & ccsds124::Decompressor< N >::mask ( ) const
inlinenoexcept

Get current mask.

Definition at line 309 of file decompressor.hpp.

◆ reset()

template<std::size_t N>
void ccsds124::Decompressor< N >::reset ( )
inlinenoexcept

Reset decompressor to initial state.

Definition at line 71 of file decompressor.hpp.

Referenced by ccsds124::Decompressor< N >::Decompressor().

◆ robustness()

template<std::size_t N>
std::uint8_t ccsds124::Decompressor< N >::robustness ( ) const
inlinenoexcept

Get robustness level.

Definition at line 302 of file decompressor.hpp.

◆ set_initial_mask()

template<std::size_t N>
void ccsds124::Decompressor< N >::set_initial_mask ( const BitVector< N > &  initial_mask)
inlinenoexcept

Set the initial mask.

Parameters
initial_maskInitial mask M_0

Definition at line 63 of file decompressor.hpp.

◆ time_index()

template<std::size_t N>
std::size_t ccsds124::Decompressor< N >::time_index ( ) const
inlinenoexcept

Get current time index.

Definition at line 295 of file decompressor.hpp.


The documentation for this class was generated from the following file: