GNU Radio's LORA_SDR Package
hier_rx.h
Go to the documentation of this file.
1 /**
2  * @file hier_rx.h
3  * @author your name (you@domain.com)
4  * @brief
5  * @version 0.1
6  * @date 2021-01-05
7  *
8  * @copyright Copyright (c) 2021
9  *
10  */
11 #ifndef INCLUDED_LORA_SDR_HIER_RX_H
12 #define INCLUDED_LORA_SDR_HIER_RX_H
13 
14 #include <gnuradio/hier_block2.h>
15 #include <lora_sdr/api.h>
16 
17 namespace gr {
18 namespace lora_sdr {
19 
20 /*!
21  * \brief Wrapper block that hold the entire Rx chain :
22 (frame_sync, fft_demod, gray_decode, deinterleaver, hamming_dec, header_decoder,
23 dewhitening, crc_verif)
24  * \ingroup lora_sdr
25  *
26  */
27 class LORA_SDR_API hier_rx : virtual public gr::hier_block2 {
28 public:
29  typedef std::shared_ptr<hier_rx> sptr;
30 
31  /*!
32  * \brief Return a shared_ptr to a new instance of lora_sdr::hier_rx.
33  *
34  * To avoid accidental use of raw pointers, lora_sdr::hier_rx's
35  * constructor is in a private implementation
36  * class. lora_sdr::hier_rx::make is the public interface for
37  * creating new instances.
38  */
39  static sptr make(float samp_rate, uint32_t bandwidth, uint8_t sf,
40  bool impl_head, uint8_t cr, uint32_t pay_len,
41  bool has_crc, std::vector<uint16_t> sync_words, bool exit);
42 };
43 
44 } // namespace lora_sdr
45 } // namespace gr
46 
47 #endif /* INCLUDED_LORA_SDR_HIER_RX_H */
LORA_SDR_API
#define LORA_SDR_API
Definition: api.h:19
gr::lora_sdr::hier_rx::sptr
std::shared_ptr< hier_rx > sptr
Definition: hier_rx.h:29
gr
Definition: add_crc.h:28
gr::lora_sdr::hier_rx
Wrapper block that hold the entire Rx chain : (frame_sync, fft_demod, gray_decode,...
Definition: hier_rx.h:27
api.h