23#ifndef INCLUDED_SATNOGS_AX100_MODE5_H
24#define INCLUDED_SATNOGS_AX100_MODE5_H
42 using sptr = std::shared_ptr<ax100_mode5>;
43 static sptr make(
const std::vector<uint8_t>& preamble,
44 size_t preamble_threshold,
45 const std::vector<uint8_t>& sync,
46 size_t sync_threshold);
49 size_t preamble_threshold,
50 const std::vector<uint8_t>& sync,
51 size_t sync_threshold);
73 const size_t d_preamble_len;
74 const size_t d_preamble_thrsh;
77 const size_t d_sync_len;
78 const size_t d_sync_thrsh;
79 decoding_state_t d_state;
82 uint64_t d_frame_start;
83 size_t d_length_field_len;
86 int search_preamble(
const uint8_t* in,
int len);
88 int search_sync(
const uint8_t* in,
int len);
90 int decode_frame_len(
const uint8_t* in,
int len);
#define SATNOGS_API
Definition api.h:19
This decode implements the AX100 mode 5 scheme.
Definition ax100_mode5.h:40
decoder_status_t decode(const void *in, int len)
static sptr make(const std::vector< uint8_t > &preamble, size_t preamble_threshold, const std::vector< uint8_t > &sync, size_t sync_threshold)
std::shared_ptr< ax100_mode5 > sptr
Definition ax100_mode5.h:42
ax100_mode5(const std::vector< uint8_t > &preamble, size_t preamble_threshold, const std::vector< uint8_t > &sync, size_t sync_threshold)
size_t input_multiple() const
Abstract class that provided the API for the c decoders.
Definition decoder.h:71
Implements a bit shift register.
Definition shift_reg.h:36
class decoder_status decoder_status_t
Definition decoder.h:56
Definition amsat_duv_decoder.h:29