GNU Radio's M17 Package
m17_coder_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2023 jmfriedt.
4  *
5  * This is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This software is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this software; see the file COPYING. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 #ifndef INCLUDED_M17_M17_CODER_IMPL_H
22 #define INCLUDED_M17_M17_CODER_IMPL_H
23 
24 #include <m17/m17_coder.h>
25 
26 namespace gr {
27  namespace m17 {
28 
29 class m17_coder_impl : public m17_coder
30 {
31 private:
32  std::string _meta;
33  unsigned char _src_id[6],_dst_id[6];
34  float _samp_rate=0.;
35  short _type;
36  int _got_lsf=0;
37  uint16_t _fn=0; //16-bit Frame Number (for the stream mode)
38  bool _debug=false;
39 
40 public:
41  void set_src_id(std::string meta);
42  void set_dst_id(std::string meta);
43  void set_samp_rate(float samp_rate);
44  void set_meta(std::string meta);
45  void set_type(short type);
46  void set_debug(bool debug);
47  m17_coder_impl(std::string src_id,std::string dst_id,short type,std::string meta,float samp_rate,bool debug);
49 
50  // Where all the action really happens
51  void forecast (int noutput_items, gr_vector_int &ninput_items_required);
52 
53  int general_work(int noutput_items,
54  gr_vector_int &ninput_items,
55  gr_vector_const_void_star &input_items,
56  gr_vector_void_star &output_items);
57 
58  };
59 
60  } // namespace m17
61 } // namespace gr
62 
63 #endif /* INCLUDED_M17_M17_CODER_IMPL_H */
64 
void set_type(short type)
Definition: m17_coder_impl.h:29
void set_samp_rate(float samp_rate)
void set_src_id(std::string meta)
Definition: m17_coder.h:27
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
void set_meta(std::string meta)
void set_dst_id(std::string meta)
m17_coder_impl(std::string src_id, std::string dst_id, short type, std::string meta, float samp_rate, bool debug)
<+description of block+>
Definition: m17_coder.h:35