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,
52 size_t preamble_threshold,
53 const std::vector<uint8_t>& sync,
54 size_t sync_threshold,
79 const size_t d_preamble_len;
80 const size_t d_preamble_thrsh;
83 const size_t d_sync_len;
84 const size_t d_sync_thrsh;
88 decoding_state_t d_state;
91 uint64_t d_frame_start;
92 size_t d_length_field_len;
95 int search_preamble(
const uint8_t* in,
int len);
97 int search_sync(
const uint8_t* in,
int len);
99 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
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 enable_rs)
decoder_status_t decode(const void *in, int len)
std::shared_ptr< ax100_mode5 > sptr
Definition: ax100_mode5.h:42
size_t input_multiple() const
ax100_mode5(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 enable_rs)
type
Predefined CRC types.
Definition: crc.h:51
Abstract class that provided the API for the c decoders.
Definition: decoder.h:71
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