GNU Radio's LORA_SDR Package
hier_tx.h
Go to the documentation of this file.
1 /**
2  * @file hier_tx.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_TX_H
12 #define INCLUDED_LORA_SDR_HIER_TX_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 of Tx chain
22  * (data_source, whitening, add_header,add_crc, hamming_enc, interleaver, gray
23  * mapping,modulate) \ingroup lora_sdr
24  *
25  */
26 class LORA_SDR_API hier_tx : virtual public gr::hier_block2 {
27 public:
28  typedef std::shared_ptr<hier_tx> sptr;
29 
30  /*!
31  * \brief Return a shared_ptr to a new instance of lora_sdr::hier_tx.
32  *
33  * To avoid accidental use of raw pointers, lora_sdr::hier_tx's
34  * constructor is in a private implementation
35  * class. lora_sdr::hier_tx::make is the public interface for
36  * creating new instances.
37  */
38  static sptr make(int pay_len, int n_frames, std::string src_data,
39  uint8_t cr, uint8_t sf, bool impl_head, bool has_crc,
40  uint32_t samp_rate, uint32_t bw, uint32_t mean, std::vector<uint16_t> sync_words,
41  bool create_zeros);
42 };
43 
44 } // namespace lora_sdr
45 } // namespace gr
46 
47 #endif /* INCLUDED_LORA_SDR_HIER_TX_H */
LORA_SDR_API
#define LORA_SDR_API
Definition: api.h:19
gr::lora_sdr::hier_tx::sptr
std::shared_ptr< hier_tx > sptr
Definition: hier_tx.h:28
gr::lora_sdr::hier_tx
wrapper of Tx chain (data_source, whitening, add_header,add_crc, hamming_enc, interleaver,...
Definition: hier_tx.h:26
gr
Definition: add_crc.h:28
api.h