11 #ifndef INCLUDED_SATELLITES_ENCODE_RS_IMPL_H
12 #define INCLUDED_SATELLITES_ENCODE_RS_IMPL_H
21 namespace satellites {
27 std::vector<uint8_t> d_rs_codeword;
28 std::vector<uint8_t> d_output_frame;
31 const int d_frame_size;
33 std::function<void(uint8_t*)> d_encode_rs;
35 constexpr
static int d_ccsds_nn = 255;
36 constexpr
static int d_ccsds_nroots = 32;
38 void setup_ccsds(
bool dual_basis);
39 void setup_generic(
int symsize,
int gfpoly,
int fcr,
int prim,
int nroots);
40 void check_interleave();
41 void check_frame_size();
42 void set_message_ports();
48 int symsize,
int gfpoly,
int fcr,
int prim,
int nroots,
int interleave = 1);
58 int work(
int noutput_items,
59 gr_vector_const_void_star& input_items,
60 gr_vector_void_star& output_items)
override;
Definition: encode_rs_impl.h:24
void msg_handler(pmt::pmt_t pmt_msg)
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) override
encode_rs_impl(bool dual_basis, int interleave=1)
encode_rs_impl(int symsize, int gfpoly, int fcr, int prim, int nroots, int interleave=1)
encode_rs_impl(int frame_size, int symsize, int gfpoly, int fcr, int prim, int nroots, int interleave)
~encode_rs_impl() override
encode_rs_impl(int frame_size, bool dual_basis, int interleave=1)
Reed-Solomon encoder.
Definition: include/satellites/encode_rs.h:26
rs nroots
Definition: init_rs.h:80
rs fcr
Definition: init_rs.h:78
rs prim
Definition: init_rs.h:79
#define NULL
Definition: lib/libfec/decode_rs.h:63
Definition: ax100_decode.h:17