GNU Radio's SATNOGS Package
|
Abstract class that provided the API for the c decoders. More...
#include <decoder.h>
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 |
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.
gr::satnogs::decoder::decoder | ( | const std::string & | name, |
const std::string & | version, | ||
int | input_item_size, | ||
size_t | max_frame_len = 8192 |
||
) |
|
virtual |
|
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
in | the input items |
nitems | the number of input items contained in the in buffer |
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.
|
protected |
|
virtual |
Reimplemented in gr::satnogs::ieee802_15_4_variant_decoder, gr::satnogs::cw_decoder, and gr::satnogs::ax100_mode5.
size_t gr::satnogs::decoder::max_frame_len | ( | ) | const |
std::string gr::satnogs::decoder::name | ( | ) | const |
|
protected |
|
pure virtual |
Resets the internal state of the decoder to the initial defaults
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.
int gr::satnogs::decoder::sizeof_input_item | ( | ) | const |
int gr::satnogs::decoder::unique_id | ( | ) | const |
std::string gr::satnogs::decoder::version | ( | ) | const |
|
static |