GNU Radio's LORA_SDR Package
interleaver_impl.h
Go to the documentation of this file.
1#ifndef INCLUDED_LORA_INTERLEAVER_IMPL_H
2#define INCLUDED_LORA_INTERLEAVER_IMPL_H
3
5// #define GRLORA_DEBUG
6
7namespace gr {
8 namespace lora_sdr {
9
11 {
12 private:
13 uint8_t m_cr; ///< Transmission coding rate
14 uint8_t m_sf; ///< Transmission spreading factor
15
16 uint32_t cw_cnt; ///< count the number of codewords
17 int m_frame_len; ///<length of the frame in number of items
18 bool m_ldro; ///< use the low datarate optimisation mode
19 int m_bw;
20 uint8_t m_ldro_mode; ///< mode of the low datarate optimisation (0: off, 1: on, 2: auto)
21 tag_t m_config_tag;
22 tag_t m_framelen_tag;
23 bool m_has_config_tag; ///<indicate that a configuration tag was received
24
25
26 public:
27 interleaver_impl(uint8_t cr, uint8_t sf, uint8_t ldro_mode, int bw);
29
30 void set_cr(uint8_t cr);
31 uint8_t get_cr();
32 void set_sf(uint8_t sf);
33 void update_var(int new_cr, int new_sf, int new_bw);
34 void forecast (int noutput_items, gr_vector_int &ninput_items_required);
35
36 int general_work(int noutput_items,
37 gr_vector_int &ninput_items,
38 gr_vector_const_void_star &input_items,
39 gr_vector_void_star &output_items);
40
41 };
42
43 } // namespace lora
44} // namespace gr
45
46#endif /* INCLUDED_LORA_INTERLEAVER_IMPL_H */
Definition interleaver_impl.h:11
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
void update_var(int new_cr, int new_sf, int new_bw)
interleaver_impl(uint8_t cr, uint8_t sf, uint8_t ldro_mode, int bw)
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
<+description of block+>
Definition interleaver.h:37
ldro_mode
Definition utilities.h:42
Definition add_crc.h:28