GNU Radio's SATELLITES Package
decode_ra_code_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_DECODE_RA_CODE_IMPL_H
12 #define INCLUDED_SATELLITES_DECODE_RA_CODE_IMPL_H
13 
15 
16 #include <memory>
17 #include <vector>
18 
19 extern "C" {
20 #include "radecoder/ra_config.h"
21 }
22 
23 namespace gr {
24 namespace satellites {
25 
27 {
28 private:
29  constexpr static float d_error_threshold = 0.35f;
30  int d_size;
31  std::unique_ptr<struct ra_context> d_ra_context;
32  std::vector<float> d_ra_in;
33  std::vector<uint8_t> d_ra_out;
34  std::vector<ra_word_t> d_ra_recode;
35 
36 public:
37  decode_ra_code_impl(int size);
39 
40  // Where all the action really happens
41  void forecast(int noutput_items, gr_vector_int& ninput_items_required);
42 
43  int general_work(int noutput_items,
44  gr_vector_int& ninput_items,
45  gr_vector_const_void_star& input_items,
46  gr_vector_void_star& output_items);
47 
48  void msg_handler(pmt::pmt_t pmt_msg);
49 };
50 
51 } // namespace satellites
52 } // namespace gr
53 
54 #endif /* INCLUDED_SATELLITES_DECODE_RA_CODE_IMPL_H */
Definition: decode_ra_code_impl.h:26
Definition: ax100_decode.h:17
<+description of block+>
Definition: decode_ra_code.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 msg_handler(pmt::pmt_t pmt_msg)
void forecast(int noutput_items, gr_vector_int &ninput_items_required)