diff --git a/grc/m17_m17_coder.block.yml b/grc/m17_m17_coder.block.yml index 07cf20e..b132fed 100644 --- a/grc/m17_m17_coder.block.yml +++ b/grc/m17_m17_coder.block.yml @@ -3,10 +3,6 @@ label: m17_coder category: '[m17]' parameters: -- id: samp_rate - label: samp_rate - dtype: float - default: samp_rate - id: src_id label: Source ID dtype: string @@ -33,10 +29,9 @@ asserts: - ${ type < 65536 } templates: imports: from gnuradio import m17 - make: m17.m17_coder(${src_id},${dst_id},${type},${meta},${samp_rate},${debug}) + make: m17.m17_coder(${src_id},${dst_id},${type},${meta},${debug}) callbacks: - set_meta(${meta}) - - set_samp_rate(${samp_rate}) - set_src_id(${src_id}) - set_dst_id(${dst_id}) - set_type(${type}) @@ -64,7 +59,7 @@ outputs: optional: 0 documentation: |- - The m17-coder block reads a byte datastream clocked (samp_rate) at 200 bits/s and will output a real stream at 24 times this input rate. The source and destination fields are 6-character strings, the type field is a 0-255 value and the meta field a free string which can be updated during transmission. + The m17-coder block reads a byte datastream clocked at 200 bits/s and outputs a real stream at 24 times this input rate (4800 Hz). The source and destination fields are 9-character callsign strings, the type field is a 0-65535 value and the meta field a free string which can be updated during transmission. # 'file_format' specifies the version of the GRC yml format used in the file # and should usually not be changed. diff --git a/include/gnuradio/m17/m17_coder.h b/include/gnuradio/m17/m17_coder.h index 0bce81b..512fae2 100644 --- a/include/gnuradio/m17/m17_coder.h +++ b/include/gnuradio/m17/m17_coder.h @@ -32,11 +32,10 @@ public: * class. m17::m17_coder::make is the public interface for * creating new instances. */ - static sptr make(std::string src_id,std::string dst_id,short type,std::string meta,float samp_rate,bool debug); + static sptr make(std::string src_id,std::string dst_id,short type,std::string meta,bool debug); virtual void set_meta(std::string meta)=0; virtual void set_src_id(std::string src_id)=0; virtual void set_dst_id(std::string dst_id)=0; - virtual void set_samp_rate(float samp_rate)=0; virtual void set_debug(bool debug)=0; virtual void set_type(short type)=0; }; diff --git a/lib/m17_coder_impl.cc b/lib/m17_coder_impl.cc index 8aefa10..75090d1 100644 --- a/lib/m17_coder_impl.cc +++ b/lib/m17_coder_impl.cc @@ -46,13 +46,12 @@ struct LSF uint8_t crc[2]; } lsf; -void send_Preamble(const uint8_t type,float *out, int *counterout, float samp_rate) +void send_Preamble(const uint8_t type,float *out, int *counterout) { float symb; if(type) //pre-BERT { - // for(uint16_t i=0; i<(int)(40e-3*samp_rate)/2; i++) //40ms * 4800 = 192 TODO JMF for(uint16_t i=0; i<(int)(192/2); i++) //40ms * 4800 = 192 { symb=-3.0; @@ -67,7 +66,6 @@ void send_Preamble(const uint8_t type,float *out, int *counterout, float samp_ra } else //pre-LSF { - // for(uint16_t i=0; i<(int)(40e-3*samp_rate)/2; i++) //40ms * 4800 = 192 TODO JMF for(uint16_t i=0; i<(int)(192/2); i++) //40ms * 4800 = 192 { symb=+3.0; @@ -261,24 +259,23 @@ uint16_t LSF_CRC(struct LSF *in) } m17_coder::sptr - m17_coder::make(std::string src_id,std::string dst_id,short type,std::string meta, float samp_rate,bool debug) + m17_coder::make(std::string src_id,std::string dst_id,short type,std::string meta, bool debug) { return gnuradio::get_initial_sptr - (new m17_coder_impl(src_id,dst_id,type,meta,samp_rate,debug)); + (new m17_coder_impl(src_id,dst_id,type,meta,debug)); } /* * The private constructor */ - m17_coder_impl::m17_coder_impl(std::string src_id,std::string dst_id,short type,std::string meta, float samp_rate, bool debug) + m17_coder_impl::m17_coder_impl(std::string src_id,std::string dst_id,short type,std::string meta, bool debug) : gr::block("m17_coder", gr::io_signature::make(1, 1, sizeof(char)), gr::io_signature::make(1, 1, sizeof(float))) - ,_samp_rate(samp_rate), _meta(meta),_type(type), _debug(debug) + , _meta(meta),_type(type), _debug(debug) { set_meta(meta); set_src_id(src_id); set_dst_id(dst_id); - set_samp_rate(samp_rate); set_type(type); set_debug(debug); uint16_t ccrc=LSF_CRC(&lsf); @@ -288,11 +285,6 @@ uint16_t LSF_CRC(struct LSF *in) _fn=0; //16-bit Frame Number (for the stream mode) } -void m17_coder_impl::set_samp_rate(float samp_rate) -{_samp_rate=samp_rate; - printf("New sampling rate: %f\n",_samp_rate); -} - void m17_coder_impl::set_debug(bool debug) {_debug=debug; if (_debug==true) printf("true\n"); else printf("Debug false\n"); @@ -540,7 +532,7 @@ printf("got_lsf=1\n"); conv_Encode_LSF(enc_bits, &lsf); //send out the preamble and LSF - send_Preamble(0,out,&countout,_samp_rate); //0 - LSF preamble, as opposed to 1 - BERT preamble + send_Preamble(0,out,&countout); //0 - LSF preamble, as opposed to 1 - BERT preamble //send LSF syncword send_Syncword(SYNC_LSF,out,&countout); diff --git a/lib/m17_coder_impl.h b/lib/m17_coder_impl.h index 5fdbe8a..78e1925 100644 --- a/lib/m17_coder_impl.h +++ b/lib/m17_coder_impl.h @@ -18,7 +18,6 @@ class m17_coder_impl : public m17_coder private: std::string _meta; unsigned char _src_id[6],_dst_id[6]; - float _samp_rate=0.; short _type; int _got_lsf=0; uint16_t _fn=0; //16-bit Frame Number (for the stream mode) @@ -28,11 +27,10 @@ private: public: void set_src_id(std::string src_id); void set_dst_id(std::string dst_id); - void set_samp_rate(float samp_rate); void set_meta(std::string meta); void set_type(short type); void set_debug(bool debug); - m17_coder_impl(std::string src_id,std::string dst_id,short type,std::string meta,float samp_rate,bool debug); + m17_coder_impl(std::string src_id,std::string dst_id,short type,std::string meta,bool debug); ~m17_coder_impl(); // Where all the action really happens diff --git a/python/m17/bindings/docstrings/m17_coder_pydoc_template.h b/python/m17/bindings/docstrings/m17_coder_pydoc_template.h index 469e1da..4dc83fe 100644 --- a/python/m17/bindings/docstrings/m17_coder_pydoc_template.h +++ b/python/m17/bindings/docstrings/m17_coder_pydoc_template.h @@ -28,8 +28,6 @@ static const char *__doc_gr_m17_m17_coder_set_src_id = R"doc()doc"; static const char *__doc_gr_m17_m17_coder_set_dst_id = R"doc()doc"; -static const char *__doc_gr_m17_m17_coder_set_samp_rate = R"doc()doc"; - static const char *__doc_gr_m17_m17_coder_set_debug = R"doc()doc"; static const char *__doc_gr_m17_m17_coder_set_type = R"doc()doc"; diff --git a/python/m17/bindings/m17_coder_python.cc b/python/m17/bindings/m17_coder_python.cc index dddf08f..b257561 100644 --- a/python/m17/bindings/m17_coder_python.cc +++ b/python/m17/bindings/m17_coder_python.cc @@ -16,7 +16,7 @@ /* BINDTOOL_GEN_AUTOMATIC(0) */ /* BINDTOOL_USE_PYGCCXML(0) */ /* BINDTOOL_HEADER_FILE(m17_coder.h) */ -/* BINDTOOL_HEADER_FILE_HASH(c37cf1a142598d1cf96b7a93c85559f2) */ +/* BINDTOOL_HEADER_FILE_HASH(178a26e09118551324bf48782db38a1b) */ /***********************************************************************************/ #include @@ -37,8 +37,8 @@ void bind_m17_coder(py::module &m) { m, "m17_coder", D(m17_coder)) .def(py::init(&m17_coder::make), py::arg("src_id"), py::arg("dst_id"), - py::arg("type"), py::arg("meta"), py::arg("samp_rate"), - py::arg("debug"), D(m17_coder, make)) + py::arg("type"), py::arg("meta"), py::arg("debug"), + D(m17_coder, make)) .def("set_meta", &m17_coder::set_meta, py::arg("meta"), D(m17_coder, set_meta)) @@ -49,9 +49,6 @@ void bind_m17_coder(py::module &m) { .def("set_dst_id", &m17_coder::set_dst_id, py::arg("dst_id"), D(m17_coder, set_dst_id)) - .def("set_samp_rate", &m17_coder::set_samp_rate, py::arg("samp_rate"), - D(m17_coder, set_samp_rate)) - .def("set_debug", &m17_coder::set_debug, py::arg("debug"), D(m17_coder, set_debug))