21 #ifndef INCLUDED_SATNOGS_IEEE802_15_4_VARIANT_DECODER_H
22 #define INCLUDED_SATNOGS_IEEE802_15_4_VARIANT_DECODER_H
77 static decoder::decoder_sptr
78 make(
const std::vector<uint8_t> &preamble,
79 size_t preamble_threshold,
80 const std::vector<uint8_t> &sync,
81 size_t sync_threshold,
83 whitening::whitening_sptr descrambler,
85 size_t max_len = 1024,
86 bool drop_invalid =
true,
90 size_t preamble_threshold,
91 const std::vector<uint8_t> &sync,
92 size_t sync_threshold,
94 whitening::whitening_sptr descrambler,
96 size_t max_len = 1024,
97 bool drop_invalid =
true,
117 DECODING_GENERIC_FRAME_LEN,
123 const size_t d_preamble_len;
124 const size_t d_preamble_thrsh;
127 const size_t d_sync_len;
128 const size_t d_sync_thrsh;
130 whitening::whitening_sptr d_descrambler;
131 const bool d_var_len;
132 const bool d_drop_invalid;
135 size_t d_length_field_len;
136 decoding_state_t d_state;
138 uint64_t d_frame_start_idx;
142 decode_var_len(
const void *in,
int len);
145 decode_const_len(
const void *in,
int len);
148 search_preamble(
const uint8_t *in,
int len);
151 search_sync(
const uint8_t *in,
int len);
154 decode_frame_len(
const uint8_t *in);
#define SATNOGS_API
Definition: api.h:30
enum gr::satnogs::crc::crc_type crc_t
Abstract class that provided the API for the c decoders.
Definition: decoder.h:69
A IEEE 802.15.4 like decoder.
Definition: ieee802_15_4_variant_decoder.h:44
size_t input_multiple() const
~ieee802_15_4_variant_decoder()
decoder_status_t decode(const void *in, int len)
static decoder::decoder_sptr make(const std::vector< uint8_t > &preamble, size_t preamble_threshold, const std::vector< uint8_t > &sync, size_t sync_threshold, crc::crc_t crc, whitening::whitening_sptr descrambler, bool var_len=true, size_t max_len=1024, bool drop_invalid=true, bool rs=false)
ieee802_15_4_variant_decoder(const std::vector< uint8_t > &preamble, size_t preamble_threshold, const std::vector< uint8_t > &sync, size_t sync_threshold, crc::crc_t crc, whitening::whitening_sptr descrambler, bool var_len=true, size_t max_len=1024, bool drop_invalid=true, bool rs=false)
Implements a bit shift register.
Definition: shift_reg.h:35
class decoder_status decoder_status_t
Definition: decoder.h:55
Definition: amsat_duv_decoder.h:29
Definition: rs-common.h:7