21 #ifndef INCLUDED_SATNOGS_ARGOS_LDR_DECODER_H 22 #define INCLUDED_SATNOGS_ARGOS_LDR_DECODER_H 50 static decoder::decoder_sptr
51 make(
bool crc_check =
true,
size_t max_frame_len = 64);
63 argos_ldr_decoder(bool crc_check = true, size_t max_frame_len = 64);
68 decode(const void *in, int len);
75 NO_SYNC, IN_SYNC, DECODING
78 const bool d_crc_check;
79 const size_t d_max_frame_len;
80 decoding_state_t d_state;
83 size_t d_received_bytes;
84 size_t d_decoded_bits;
85 uint8_t *d_frame_buffer;
86 std::deque<uint8_t> d_bitstream;
88 uint64_t d_frame_start;
89 uint64_t d_sample_cnt;
96 enter_decoding_state();
98 enter_frame_end(decoder_status_t &status);
101 _decode(decoder_status_t &status);
104 decode_1b(uint8_t in);
109 } // namespace satnogs
112 #endif /* INCLUDED_SATNOGS_ARGOS_LDR_DECODER_H */
Abstract class that provided the API for the c decoders.
Definition: decoder.h:69
ARGOS Low Data Rate HDLC decoder.
Definition: argos_ldr_decoder.h:38
Definition: amsat_duv_decoder.h:29
#define SATNOGS_API
Definition: api.h:30