GNU Radio's SATELLITES Package
ao40_rs_decoder_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2017 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_AO40_RS_DECODER_IMPL_H
12 #define INCLUDED_SATELLITES_AO40_RS_DECODER_IMPL_H
13 
15 
16 #include <array>
17 
18 namespace gr {
19 namespace satellites {
20 
22 {
23 private:
24  const bool d_verbose;
25  constexpr static std::size_t d_k = 128;
26  constexpr static std::size_t d_n = d_k + 32;
27  std::array<uint8_t, d_n> d_scratch;
28  std::array<uint8_t, 2 * d_k> d_message;
29 
30 public:
31  ao40_rs_decoder_impl(bool verbose);
33 
34  // Where all the action really happens
35  void forecast(int noutput_items, gr_vector_int& ninput_items_required);
36 
37  int general_work(int noutput_items,
38  gr_vector_int& ninput_items,
39  gr_vector_const_void_star& input_items,
40  gr_vector_void_star& output_items);
41 
42  void msg_handler(pmt::pmt_t pmt_msg);
43 };
44 
45 } // namespace satellites
46 } // namespace gr
47 
48 #endif /* INCLUDED_SATELLITES_AO40_RS_DECODER_IMPL_H */
gr::satellites::ao40_rs_decoder
<+description of block+>
Definition: ao40_rs_decoder.h:26
gr::satellites::ao40_rs_decoder_impl::forecast
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
ao40_rs_decoder.h
gr::satellites::ao40_rs_decoder_impl::general_work
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
gr::satellites::ao40_rs_decoder_impl
Definition: ao40_rs_decoder_impl.h:22
gr::satellites::ao40_rs_decoder_impl::~ao40_rs_decoder_impl
~ao40_rs_decoder_impl()
gr
Definition: ao40_rs_decoder.h:17
gr::satellites::ao40_rs_decoder_impl::msg_handler
void msg_handler(pmt::pmt_t pmt_msg)
gr::satellites::ao40_rs_decoder_impl::ao40_rs_decoder_impl
ao40_rs_decoder_impl(bool verbose)