GNU Radio's LORA_SDR Package
deinterleaver_impl.h
Go to the documentation of this file.
1#ifndef INCLUDED_LORA_DEINTERLEAVER_IMPL_H
2#define INCLUDED_LORA_DEINTERLEAVER_IMPL_H
3
4// #define GRLORA_DEBUG
6
7namespace gr {
8namespace lora_sdr {
9
11private:
12 /**
13 * @brief Transmission Spreading factor
14 *
15 */
16 uint8_t m_sf;
17
18 /**
19 * @brief Transmission Coding rate
20 *
21 */
22 uint8_t m_cr;
23
24 /**
25 * @brief Spreading factor to use to deinterleave
26 *
27 */
28 uint8_t sf_app;
29
30 /**
31 * @brief Length of a codeword
32 *
33 */
34 uint8_t cw_len;
35
36 /**
37 * @brief Indicate that we need to deinterleave the first block with the
38 * default header parameters (cr=4/8, reduced rate)
39 *
40 */
41 bool m_is_header;
42
43public:
44 /**
45 * @brief Construct a new deinterleaver impl object
46 *
47 * @param sf : sampling rate
48 */
49 deinterleaver_impl(uint8_t sf);
50
51 /**
52 * @brief Destroy the deinterleaver impl object
53 *
54 */
56
57 /**
58 * @brief Standard gnuradio function to tell the system with
59 *
60 * @param noutput_items : number of output items
61 * @param ninput_items_required : number of required output items
62 */
63 void forecast(int noutput_items, gr_vector_int &ninput_items_required);
64
65 /**
66 * @brief Main function where the actual computation is done
67 *
68 * @param noutput_items : number of output items
69 * @param ninput_items : number of input items
70 * @param input_items : input (i.e gray demapping output)
71 * @param output_items : output data
72 * @return int
73 */
74 int general_work(int noutput_items, gr_vector_int &ninput_items,
75 gr_vector_const_void_star &input_items,
76 gr_vector_void_star &output_items);
77};
78
79} // namespace lora_sdr
80} // namespace gr
81
82#endif /* INCLUDED_LORA_DEINTERLEAVER_IMPL_H */
Definition: deinterleaver_impl.h:10
~deinterleaver_impl()
Destroy the deinterleaver impl object.
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
Main function where the actual computation is done.
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
Standard gnuradio function to tell the system with.
deinterleaver_impl(uint8_t sf)
Construct a new deinterleaver impl object.
Deinterleaves the received payload, for more information about the implementation visit deinterleaver...
Definition: deinterleaver.h:37
Definition: add_crc.h:28