21#ifndef INCLUDED_SATNOGS_WHITENING_H
22#define INCLUDED_SATNOGS_WHITENING_H
24#include <gnuradio/digital/lfsr.h>
42 using sptr = std::shared_ptr<whitening>;
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);
74 const bool d_self_sync;
#define SATNOGS_API
Definition: api.h:19
Performs data whitening and de-whitening.
Definition: whitening.h:36
whitening(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_one_bit_per_byte(uint8_t *out, const uint8_t *in, size_t bits_num)
static sptr make_g3ruh(bool msb=false)
std::shared_ptr< whitening > sptr
Definition: whitening.h:42
static int base_unique_id
Definition: whitening.h:38
static sptr make(uint32_t mask, uint32_t seed, uint32_t order, bool msb=false, bool self_sync=false)
void scramble(uint8_t *out, const uint8_t *in, size_t len)
void descramble(uint8_t *out, const uint8_t *in, size_t len)
static sptr make_ccsds(bool msb=false)
Definition: amsat_duv_decoder.h:29