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
17namespace gr {
18namespace 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 */
26class LORA_SDR_API hier_tx : virtual public gr::hier_block2 {
27public:
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 */
#define LORA_SDR_API
Definition: api.h:19
wrapper of Tx chain (data_source, whitening, add_header,add_crc, hamming_enc, interleaver,...
Definition: hier_tx.h:26
std::shared_ptr< hier_tx > sptr
Definition: hier_tx.h:28
static sptr make(int pay_len, int n_frames, std::string src_data, uint8_t cr, uint8_t sf, bool impl_head, bool has_crc, uint32_t samp_rate, uint32_t bw, uint32_t mean, std::vector< uint16_t > sync_words, bool create_zeros)
Return a shared_ptr to a new instance of lora_sdr::hier_tx.
Definition: add_crc.h:28