24#include <gnuradio/digital/lfsr.h>
25#include <gnuradio/fec/encoder.h>
42 using sptr = fec::generic_encoder::sptr;
48 bool self_sync =
false);
60 bool self_sync =
false);
66 void scramble(uint8_t* out,
const uint8_t* in,
size_t len);
67 void descramble(uint8_t* out,
const uint8_t* in,
size_t len);
148 const bool d_self_sync;
149 digital::lfsr d_lfsr;
#define SATNOGS_API
Definition: api.h:19
Definition: scrambler.h:36
void generic_work(fec_input_buffer_type inbuffer, void *outbuffer) override
static sptr make(uint32_t mask, uint32_t seed, uint32_t order, bool msb=false, bool self_sync=false)
scrambler(uint32_t mask, uint32_t seed, uint32_t order, bool msb=false, bool self_sync=false)
void descramble_one_bit_per_byte(uint8_t *out, const uint8_t *in, size_t bits_num)
void scramble(uint8_t *out, const uint8_t *in, size_t len)
static sptr make_g3ruh(bool msb=false)
const char * get_input_conversion() override
int get_output_size() override
int get_input_size() override
void scramble_one_bit_per_byte(uint8_t *out, const uint8_t *in, size_t bits_num)
fec::generic_encoder::sptr sptr
Definition: scrambler.h:42
static sptr make_ccsds(bool msb=false)
void descramble(uint8_t *out, const uint8_t *in, size_t len)
const char * get_output_conversion() override
static int base_unique_id
Definition: scrambler.h:38
bool set_frame_size(unsigned int frame_size) override
std::conditional< config::gnuradio_version_num(config::gnuradio_major, config::gnuradio_minor, config::gnuradio_patch, config::gnuradio_tweak) >=config::gnuradio_version_num(3, 10, 11, 0), const void *, void * >::type fec_input_buffer_type
Definition: code.h:35
Definition: amsat_duv_decoder.h:29