GNU Radio's SATELLITES Package
decode_rs_interleaved_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2019-2020 Daniel Estevez <daniel@destevez.net>
4  *
5  * This file is part of gr-satellites
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_SATELLITES_DECODE_RS_INTERLEAVED_IMPL_H
12 #define INCLUDED_SATELLITES_DECODE_RS_INTERLEAVED_IMPL_H
13 
15 
16 #include <array>
17 #include <vector>
18 
19 #include "rs.h"
20 
21 namespace gr {
22 namespace satellites {
23 
25 {
26 private:
27  const bool d_verbose;
28  const int d_basis;
29  const size_t d_codewords;
30  std::array<uint8_t, MAX_FRAME_LEN> d_codeword;
31  std::vector<uint8_t> d_out;
32 
33 public:
34  decode_rs_interleaved_impl(bool verbose, int basis, int codewords);
36 
37  // Where all the action really happens
38  void forecast(int noutput_items, gr_vector_int& ninput_items_required);
39 
40  int general_work(int noutput_items,
41  gr_vector_int& ninput_items,
42  gr_vector_const_void_star& input_items,
43  gr_vector_void_star& output_items);
44 
45  void msg_handler(pmt::pmt_t pmt_msg);
46 };
47 
48 } // namespace satellites
49 } // namespace gr
50 
51 #endif /* INCLUDED_SATELLITES_DECODE_RS_INTERLEAVED_IMPL_H */
Definition: decode_rs_interleaved_impl.h:25
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
decode_rs_interleaved_impl(bool verbose, int basis, int codewords)
<+description of block+>
Definition: decode_rs_interleaved.h:26
Definition: ao40_rs_decoder.h:17