GNU Radio's SATNOGS Package
gr::satnogs::decoder Class Referenceabstract

Abstract class that provided the API for the c decoders. More...

#include <decoder.h>

Inheritance diagram for gr::satnogs::decoder:
gr::satnogs::amsat_duv_decoder gr::satnogs::argos_ldr_decoder gr::satnogs::ax100_mode5 gr::satnogs::ax100_mode6 gr::satnogs::ax25_decoder gr::satnogs::cw_decoder gr::satnogs::ieee802_15_4_variant_decoder

Public Member Functions

int unique_id () const
 
 decoder (const std::string &name, const std::string &version, int input_item_size, size_t max_frame_len=8192)
 
virtual ~decoder ()
 
virtual decoder_status_t decode (const void *in, int nitems)=0
 
virtual void reset ()=0
 
virtual size_t input_multiple () const
 
size_t max_frame_len () const
 
int sizeof_input_item () const
 
std::string name () const
 
std::string version () const
 

Static Public Attributes

static int base_unique_id
 

Protected Member Functions

void incr_nitems_read (size_t nitems)
 
uint64_t nitems_read () const
 

Detailed Description

Abstract class that provided the API for the c decoders.

This is an abstract class providing the API for the SatNOGS decoders.

The gr-satnogs module tries to provide a unified decoding framework, for various satellites. Specialization is performed by passing to the generic decoding block the appropriate decoder class that implements this abstract class API.

Constructor & Destructor Documentation

◆ decoder()

gr::satnogs::decoder::decoder ( const std::string &  name,
const std::string &  version,
int  input_item_size,
size_t  max_frame_len = 8192 
)

◆ ~decoder()

virtual gr::satnogs::decoder::~decoder ( )
virtual

Member Function Documentation

◆ decode()

virtual decoder_status_t gr::satnogs::decoder::decode ( const void *  in,
int  nitems 
)
pure virtual

Decodes a buffer of input items contained in the in buffer. This method is called continuously by the frame_decoder. Based on the returned status data, the frame_decoder() instructs properly the GNU Radio scheduler and/or propagates decoded data.

As the number of input items may not enough to decode a frame, each decoder should keep internal state, so decoding can be accomplished after an arbitrary number of calls to this method

Parameters
inthe input items
nitemsthe number of input items contained in the in buffer
Returns
the status of the decoder after the call of this method. For more information refer to decoder_status()

Implemented in gr::satnogs::ax25_decoder, gr::satnogs::ieee802_15_4_variant_decoder, gr::satnogs::argos_ldr_decoder, gr::satnogs::ax100_mode6, gr::satnogs::cw_decoder, gr::satnogs::ax100_mode5, and gr::satnogs::amsat_duv_decoder.

◆ incr_nitems_read()

void gr::satnogs::decoder::incr_nitems_read ( size_t  nitems)
protected

◆ input_multiple()

virtual size_t gr::satnogs::decoder::input_multiple ( ) const
virtual

◆ max_frame_len()

size_t gr::satnogs::decoder::max_frame_len ( ) const

◆ name()

std::string gr::satnogs::decoder::name ( ) const

◆ nitems_read()

uint64_t gr::satnogs::decoder::nitems_read ( ) const
protected

◆ reset()

virtual void gr::satnogs::decoder::reset ( )
pure virtual

◆ sizeof_input_item()

int gr::satnogs::decoder::sizeof_input_item ( ) const

◆ unique_id()

int gr::satnogs::decoder::unique_id ( ) const

◆ version()

std::string gr::satnogs::decoder::version ( ) const

Member Data Documentation

◆ base_unique_id

int gr::satnogs::decoder::base_unique_id
static

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