24#ifndef INCLUDED_SATNOGS_IEEE802_15_4_VARIANT_DECODER_H
25#define INCLUDED_SATNOGS_IEEE802_15_4_VARIANT_DECODER_H
81 using sptr = std::shared_ptr<ieee802_15_4_variant_decoder>;
82 static sptr make(
const std::vector<uint8_t>& preamble,
83 size_t preamble_threshold,
84 const std::vector<uint8_t>& sync,
85 size_t sync_threshold,
89 size_t max_len = 1024,
90 bool drop_invalid =
true,
94 size_t preamble_threshold,
95 const std::vector<uint8_t>& sync,
96 size_t sync_threshold,
100 size_t max_len = 1024,
101 bool drop_invalid =
true,
118 DECODING_GENERIC_FRAME_LEN,
124 const size_t d_preamble_len;
125 const size_t d_preamble_thrsh;
128 const size_t d_sync_len;
129 const size_t d_sync_thrsh;
132 const bool d_var_len;
133 const bool d_drop_invalid;
136 size_t d_length_field_len;
137 decoding_state_t d_state;
139 uint64_t d_frame_start_idx;
146 int search_preamble(
const uint8_t* in,
int len);
148 int search_sync(
const uint8_t* in,
int len);
150 int decode_frame_len(
const uint8_t* in);
#define SATNOGS_API
Definition: api.h:19
type
Predefined CRC types.
Definition: crc.h:51
Abstract class that provided the API for the c decoders.
Definition: decoder.h:71
A IEEE 802.15.4 like decoder.
Definition: ieee802_15_4_variant_decoder.h:48
size_t input_multiple() const
static sptr make(const std::vector< uint8_t > &preamble, size_t preamble_threshold, const std::vector< uint8_t > &sync, size_t sync_threshold, crc::type crc, 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::type crc, whitening::sptr descrambler, bool var_len=true, size_t max_len=1024, bool drop_invalid=true, bool rs=false)
std::shared_ptr< ieee802_15_4_variant_decoder > sptr
Definition: ieee802_15_4_variant_decoder.h:81
~ieee802_15_4_variant_decoder()
decoder_status_t decode(const void *in, int len)
Implements a bit shift register.
Definition: shift_reg.h:36
std::shared_ptr< whitening > sptr
Definition: whitening.h:42
class decoder_status decoder_status_t
Definition: decoder.h:56
Definition: amsat_duv_decoder.h:29
Definition: rs-common.h:7