From 6e747067a2817bc214639cdfc02168e6a2a9d425 Mon Sep 17 00:00:00 2001 From: csrichter Date: Mon, 24 Apr 2017 13:30:06 +0200 Subject: [PATCH] completed rename of project (CRFA -> MULTIRDS) fixed error correction of A and B groups --- CMakeLists.txt | 4 +- MANIFEST.md | 2 +- apps/fft-multi-decoder_fixed_hackrf.grc | 342 ++++++++++++------------ cmake/Modules/multirdsConfig.cmake | 18 +- docs/doxygen/Doxyfile.in | 2 +- docs/doxygen/other/group_defs.dox | 4 +- docs/doxygen/other/main_page.dox | 4 +- grc/CMakeLists.txt | 3 +- include/multirds/CMakeLists.txt | 3 +- include/multirds/api.h | 10 +- include/multirds/rds_decoder.h | 8 +- include/multirds/rds_decoder_redsea.h | 8 +- include/multirds/sync_decim.h | 8 +- lib/CMakeLists.txt | 3 +- lib/constants.h | 2 +- lib/qa_multirds.h | 6 +- lib/rds_decoder_impl.h | 6 +- lib/rds_decoder_redsea_impl.cc | 45 +++- lib/rds_decoder_redsea_impl.h | 6 +- lib/sync_decim_impl.cc | 3 +- lib/sync_decim_impl.h | 6 +- python/__init__.py | 2 +- python/rds_parser_table_qt.py | 2 +- swig/multirds_swig.i | 5 +- 24 files changed, 271 insertions(+), 231 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1493ff..17edf04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,8 +164,8 @@ link_directories( ) # Set component parameters -set(GR_CRFA_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE) -set(GR_CRFA_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE) +set(GR_MULTIRDS_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE) +set(GR_MULTIRDS_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE) ######################################################################## # Create uninstall target diff --git a/MANIFEST.md b/MANIFEST.md index ac12f91..91166b1 100644 --- a/MANIFEST.md +++ b/MANIFEST.md @@ -1,4 +1,4 @@ -title: The CRFA OOT Module +title: The MULTIRDS OOT Module brief: Short description of gr-multirds tags: # Tags are arbitrary, but look at CGRAN what other authors are using - sdr diff --git a/apps/fft-multi-decoder_fixed_hackrf.grc b/apps/fft-multi-decoder_fixed_hackrf.grc index 604920e..17ba717 100644 --- a/apps/fft-multi-decoder_fixed_hackrf.grc +++ b/apps/fft-multi-decoder_fixed_hackrf.grc @@ -2492,171 +2492,6 @@ 1 - - multirds_decoder_compare - - alias - - - - comment - - - - affinity - - - - _enabled - 0 - - - _coordinate - (1757, 231) - - - _rotation - 0 - - - id - multirds_decoder_compare_0 - - - nPorts - 6 - - - - multirds_rds_parser_table_qt - - alias - - - - comment - - - - affinity - - - - debug - False - - - _enabled - 1 - - - _coordinate - (1589, 423) - - - gui_hint - tabs@1:7,1,5,3 - - - _rotation - 0 - - - id - multirds_rds_parser_table_qt_0_0 - - - label - - - - log - False - - - maxoutbuf - 0 - - - minoutbuf - 0 - - - nPorts - 9 - - - freq_tune - freq_tune - - - workdir - /user/wire2/richter/data/ - - - writeDB - True - - - - multirds_tmc_parser - - alias - - - - comment - - - - affinity - - - - debug - False - - - _enabled - True - - - _coordinate - (1880, 512) - - - gui_hint - tabs@1 - - - _rotation - 0 - - - id - multirds_tmc_parser_0 - - - label - - - - log - False - - - maxheight - 0 - - - workdir - /user/wire2/richter/data/ - - - writeDB - True - - epy_block @@ -3583,6 +3418,171 @@ class blk(gr.sync_block): # other base classes are basic_block, decim_block, in samp_rate + + multirds_decoder_compare + + alias + + + + comment + + + + affinity + + + + _enabled + 0 + + + _coordinate + (1757, 231) + + + _rotation + 0 + + + id + multirds_decoder_compare_0 + + + nPorts + 6 + + + + multirds_rds_parser_table_qt + + alias + + + + comment + + + + affinity + + + + debug + False + + + _enabled + 1 + + + _coordinate + (1589, 423) + + + gui_hint + tabs@1:7,1,5,3 + + + _rotation + 0 + + + id + multirds_rds_parser_table_qt_0_0 + + + label + + + + log + False + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + nPorts + 9 + + + freq_tune + freq_tune + + + workdir + /user/wire2/richter/data/ + + + writeDB + True + + + + multirds_tmc_parser + + alias + + + + comment + + + + affinity + + + + debug + False + + + _enabled + True + + + _coordinate + (1880, 512) + + + gui_hint + tabs@1 + + + _rotation + 0 + + + id + multirds_tmc_parser_0 + + + label + + + + log + False + + + maxheight + 0 + + + workdir + /user/wire2/richter/data/ + + + writeDB + True + + osmosdr_source @@ -6772,12 +6772,6 @@ class blk(gr.sync_block): # other base classes are basic_block, decim_block, in 0 0 - - multirds_rds_parser_table_qt_0_0 - multirds_tmc_parser_0 - tmc_raw - in - epy_block_0 multirds_rds_parser_table_qt_0_0 @@ -7072,6 +7066,12 @@ class blk(gr.sync_block): # other base classes are basic_block, decim_block, in rds in8 + + multirds_rds_parser_table_qt_0_0 + multirds_tmc_parser_0 + tmc_raw + in + osmosdr_source_0 blocks_stream_to_vector_0 diff --git a/cmake/Modules/multirdsConfig.cmake b/cmake/Modules/multirdsConfig.cmake index 2d982c1..618f37a 100644 --- a/cmake/Modules/multirdsConfig.cmake +++ b/cmake/Modules/multirdsConfig.cmake @@ -1,21 +1,21 @@ INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_CRFA multirds) +PKG_CHECK_MODULES(PC_MULTIRDS multirds) FIND_PATH( - CRFA_INCLUDE_DIRS + MULTIRDS_INCLUDE_DIRS NAMES multirds/api.h - HINTS $ENV{CRFA_DIR}/include - ${PC_CRFA_INCLUDEDIR} + HINTS $ENV{MULTIRDS_DIR}/include + ${PC_MULTIRDS_INCLUDEDIR} PATHS ${CMAKE_INSTALL_PREFIX}/include /usr/local/include /usr/include ) FIND_LIBRARY( - CRFA_LIBRARIES + MULTIRDS_LIBRARIES NAMES gnuradio-multirds - HINTS $ENV{CRFA_DIR}/lib - ${PC_CRFA_LIBDIR} + HINTS $ENV{MULTIRDS_DIR}/lib + ${PC_MULTIRDS_LIBDIR} PATHS ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/lib64 /usr/local/lib @@ -25,6 +25,6 @@ FIND_LIBRARY( ) INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(CRFA DEFAULT_MSG CRFA_LIBRARIES CRFA_INCLUDE_DIRS) -MARK_AS_ADVANCED(CRFA_LIBRARIES CRFA_INCLUDE_DIRS) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(MULTIRDS DEFAULT_MSG MULTIRDS_LIBRARIES MULTIRDS_INCLUDE_DIRS) +MARK_AS_ADVANCED(MULTIRDS_LIBRARIES MULTIRDS_INCLUDE_DIRS) diff --git a/docs/doxygen/Doxyfile.in b/docs/doxygen/Doxyfile.in index e70d719..8f93005 100644 --- a/docs/doxygen/Doxyfile.in +++ b/docs/doxygen/Doxyfile.in @@ -28,7 +28,7 @@ DOXYFILE_ENCODING = UTF-8 # identify the project. Note that if you do not use Doxywizard you need # to put quotes around the project name if it contains spaces. -PROJECT_NAME = "GNU Radio's CRFA Package" +PROJECT_NAME = "GNU Radio's MULTIRDS Package" # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or diff --git a/docs/doxygen/other/group_defs.dox b/docs/doxygen/other/group_defs.dox index 347d743..c879fe8 100644 --- a/docs/doxygen/other/group_defs.dox +++ b/docs/doxygen/other/group_defs.dox @@ -1,6 +1,6 @@ /*! - * \defgroup block GNU Radio CRFA C++ Signal Processing Blocks - * \brief All C++ blocks that can be used from the CRFA GNU Radio + * \defgroup block GNU Radio MULTIRDS C++ Signal Processing Blocks + * \brief All C++ blocks that can be used from the MULTIRDS GNU Radio * module are listed here or in the subcategories below. * */ diff --git a/docs/doxygen/other/main_page.dox b/docs/doxygen/other/main_page.dox index 94b59ed..c4ca3c9 100644 --- a/docs/doxygen/other/main_page.dox +++ b/docs/doxygen/other/main_page.dox @@ -1,8 +1,8 @@ /*! \mainpage -Welcome to the GNU Radio CRFA Block +Welcome to the GNU Radio MULTIRDS Block -This is the intro page for the Doxygen manual generated for the CRFA +This is the intro page for the Doxygen manual generated for the MULTIRDS block (docs/doxygen/other/main_page.dox). Edit it to add more detailed documentation about the new GNU Radio modules contained in this project. diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt index d94ed36..490f95a 100644 --- a/grc/CMakeLists.txt +++ b/grc/CMakeLists.txt @@ -30,5 +30,6 @@ install(FILES multirds_qtgui_range.xml multirds_variable_setter.xml multirds_tmc_parser.xml - multirds_pilot_SNR.xml DESTINATION share/gnuradio/grc/blocks + multirds_pilot_SNR.xml + multirds_stream_router.xml DESTINATION share/gnuradio/grc/blocks ) diff --git a/include/multirds/CMakeLists.txt b/include/multirds/CMakeLists.txt index ea04c37..718d2fc 100644 --- a/include/multirds/CMakeLists.txt +++ b/include/multirds/CMakeLists.txt @@ -24,5 +24,6 @@ install(FILES api.h rds_decoder.h sync_decim.h - rds_decoder_redsea.h DESTINATION include/multirds + rds_decoder_redsea.h + stream_router.h DESTINATION include/multirds ) diff --git a/include/multirds/api.h b/include/multirds/api.h index fc3545f..0425f8b 100644 --- a/include/multirds/api.h +++ b/include/multirds/api.h @@ -19,15 +19,15 @@ * Boston, MA 02110-1301, USA. */ -#ifndef INCLUDED_CRFA_API_H -#define INCLUDED_CRFA_API_H +#ifndef INCLUDED_MULTIRDS_API_H +#define INCLUDED_MULTIRDS_API_H #include #ifdef gnuradio_multirds_EXPORTS -# define CRFA_API __GR_ATTR_EXPORT +# define MULTIRDS_API __GR_ATTR_EXPORT #else -# define CRFA_API __GR_ATTR_IMPORT +# define MULTIRDS_API __GR_ATTR_IMPORT #endif -#endif /* INCLUDED_CRFA_API_H */ +#endif /* INCLUDED_MULTIRDS_API_H */ diff --git a/include/multirds/rds_decoder.h b/include/multirds/rds_decoder.h index efb0b71..3fcb104 100644 --- a/include/multirds/rds_decoder.h +++ b/include/multirds/rds_decoder.h @@ -19,8 +19,8 @@ */ -#ifndef INCLUDED_CRFA_RDS_DECODER_H -#define INCLUDED_CRFA_RDS_DECODER_H +#ifndef INCLUDED_MULTIRDS_RDS_DECODER_H +#define INCLUDED_MULTIRDS_RDS_DECODER_H #include #include @@ -33,7 +33,7 @@ namespace gr { * \ingroup multirds * */ - class CRFA_API rds_decoder : virtual public gr::sync_block + class MULTIRDS_API rds_decoder : virtual public gr::sync_block { public: typedef boost::shared_ptr sptr; @@ -52,5 +52,5 @@ namespace gr { } // namespace multirds } // namespace gr -#endif /* INCLUDED_CRFA_RDS_DECODER_H */ +#endif /* INCLUDED_MULTIRDS_RDS_DECODER_H */ diff --git a/include/multirds/rds_decoder_redsea.h b/include/multirds/rds_decoder_redsea.h index 8f7b726..061755b 100644 --- a/include/multirds/rds_decoder_redsea.h +++ b/include/multirds/rds_decoder_redsea.h @@ -19,8 +19,8 @@ */ -#ifndef INCLUDED_CRFA_RDS_DECODER_REDSEA_H -#define INCLUDED_CRFA_RDS_DECODER_REDSEA_H +#ifndef INCLUDED_MULTIRDS_RDS_DECODER_REDSEA_H +#define INCLUDED_MULTIRDS_RDS_DECODER_REDSEA_H #include #include @@ -33,7 +33,7 @@ namespace gr { * \ingroup multirds * */ - class CRFA_API rds_decoder_redsea : virtual public gr::sync_block + class MULTIRDS_API rds_decoder_redsea : virtual public gr::sync_block { public: typedef boost::shared_ptr sptr; @@ -52,5 +52,5 @@ namespace gr { } // namespace multirds } // namespace gr -#endif /* INCLUDED_CRFA_RDS_DECODER_REDSEA_H */ +#endif /* INCLUDED_MULTIRDS_RDS_DECODER_REDSEA_H */ diff --git a/include/multirds/sync_decim.h b/include/multirds/sync_decim.h index a1d9808..6b1f3b8 100644 --- a/include/multirds/sync_decim.h +++ b/include/multirds/sync_decim.h @@ -19,8 +19,8 @@ */ -#ifndef INCLUDED_CRFA_SYNC_DECIM_H -#define INCLUDED_CRFA_SYNC_DECIM_H +#ifndef INCLUDED_MULTIRDS_SYNC_DECIM_H +#define INCLUDED_MULTIRDS_SYNC_DECIM_H #include #include @@ -33,7 +33,7 @@ namespace gr { * \ingroup multirds * */ - class CRFA_API sync_decim : virtual public gr::sync_decimator + class MULTIRDS_API sync_decim : virtual public gr::sync_decimator { public: typedef boost::shared_ptr sptr; @@ -52,5 +52,5 @@ namespace gr { } // namespace multirds } // namespace gr -#endif /* INCLUDED_CRFA_SYNC_DECIM_H */ +#endif /* INCLUDED_MULTIRDS_SYNC_DECIM_H */ diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 0d45ae4..9983586 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -27,7 +27,8 @@ link_directories(${Boost_LIBRARY_DIRS}) list(APPEND multirds_sources rds_decoder_impl.cc sync_decim_impl.cc - rds_decoder_redsea_impl.cc ) + rds_decoder_redsea_impl.cc + stream_router_impl.cc ) set(multirds_sources "${multirds_sources}" PARENT_SCOPE) if(NOT multirds_sources) diff --git a/lib/constants.h b/lib/constants.h index d41f330..dbf0833 100644 --- a/lib/constants.h +++ b/lib/constants.h @@ -27,7 +27,7 @@ static const unsigned int offset_word[5]={252,408,360,436,848}; static const unsigned int syndrome[5]={383,14,303,663,748}; //static const char * const offset_name[]={"A","B","C","D","C'"}; static const char offset_name[]={'A','B','C','D','c'}; -static const char expected_offset_char[]={'A','B','X','D'}; +static const char expected_offset_char[]={'A','B','?','D'}; /* Annex F of RBDS Standard Table F.1 (North America) and * Table F.2 (Europe) */ diff --git a/lib/qa_multirds.h b/lib/qa_multirds.h index 076a7f0..5795979 100644 --- a/lib/qa_multirds.h +++ b/lib/qa_multirds.h @@ -20,8 +20,8 @@ * Boston, MA 02110-1301, USA. */ -#ifndef _QA_CRFA_H_ -#define _QA_CRFA_H_ +#ifndef _QA_MULTIRDS_H_ +#define _QA_MULTIRDS_H_ #include #include @@ -35,4 +35,4 @@ class __GR_ATTR_EXPORT qa_multirds static CppUnit::TestSuite *suite(); }; -#endif /* _QA_CRFA_H_ */ +#endif /* _QA_MULTIRDS_H_ */ diff --git a/lib/rds_decoder_impl.h b/lib/rds_decoder_impl.h index 1a149d4..82c151f 100644 --- a/lib/rds_decoder_impl.h +++ b/lib/rds_decoder_impl.h @@ -18,8 +18,8 @@ * Boston, MA 02110-1301, USA. */ -#ifndef INCLUDED_CRFA_RDS_DECODER_IMPL_H -#define INCLUDED_CRFA_RDS_DECODER_IMPL_H +#ifndef INCLUDED_MULTIRDS_RDS_DECODER_IMPL_H +#define INCLUDED_MULTIRDS_RDS_DECODER_IMPL_H #include @@ -75,5 +75,5 @@ private: } // namespace multirds } // namespace gr -#endif /* INCLUDED_CRFA_RDS_DECODER_IMPL_H */ +#endif /* INCLUDED_MULTIRDS_RDS_DECODER_IMPL_H */ diff --git a/lib/rds_decoder_redsea_impl.cc b/lib/rds_decoder_redsea_impl.cc index d553142..fd0bb96 100644 --- a/lib/rds_decoder_redsea_impl.cc +++ b/lib/rds_decoder_redsea_impl.cc @@ -136,7 +136,8 @@ static const char * const offset_name[]={"A","B","C","D","c"};*/ // bits." // Kopitz & Marks 1999: "RDS: The Radio Data System", p. 224 //for (uint32_t e=0x1;e <= 0x3;e+=0x2) {//for (uint32_t e : {0x1, 0x3}) { - for (uint32_t e : {0x1, 0x3, 0x7,0x15,0x31}) {//fix up to 5 bit burst errors + //for (uint32_t e : {0x1, 0x3, 0x7,0x15,0x31}) {//fix up to 5 bit burst errors (as code should support) + for (uint32_t e : {0x1, 0x3}) {//fix up to 2 bit burst errors (as book says) for (int shift=0; shift < 26; shift++) { uint32_t errvec = ((e << shift) & kBitmask26); uint16_t sy = calc_syndrome(errvec ^ offset_word[offset_num],26); @@ -204,6 +205,7 @@ int rds_decoder_redsea_impl::work (int noutput_items, uint16_t block_calculated_crc, block_received_crc, checkword,dataword; uint16_t reg_syndrome; uint8_t offset_char('x'); // x = error while decoding the word offset + uint8_t variant; /* the synchronization process is described in Annex C, page 66 of the standard */ while (i>10) & 0xffff; + checkword=corrected_block & 0x3ff; + //dout << "corrected error"< errors if corrected with wrong offset if(corrected_block != reg){ good_block=true; dataword=(corrected_block>>10) & 0xffff; @@ -269,15 +298,16 @@ int rds_decoder_redsea_impl::work (int noutput_items, good_block=false; } } - } + }*/ } else { block_received_crc=checkword^offset_word[block_number]; if (block_received_crc==block_calculated_crc) { good_block=true; - if (block_number==0) offset_char = 'A'; + offset_char=expected_offset_char[block_number]; //expected_offset_char[]={'A','B','?','D'}; + /*if (block_number==0) offset_char = 'A'; else if (block_number==1) offset_char = 'B'; - else if (block_number==3) offset_char = 'D'; + else if (block_number==3) offset_char = 'D';*/ } else { //try correcting: uint32_t corrected_block= correctBurstErrors(reg,expected_offset_char[block_number]); @@ -304,6 +334,9 @@ int rds_decoder_redsea_impl::work (int noutput_items, group_assembly_started=true; group_good_blocks_counter=1; } + if (block_number==1 && good_block) {//2nd block - > read group type variant + variant=(dataword>>12)& 0x1; + } if (group_assembly_started) { if (!good_block) group_assembly_started=false; else { diff --git a/lib/rds_decoder_redsea_impl.h b/lib/rds_decoder_redsea_impl.h index 8d45c87..ea5e1aa 100644 --- a/lib/rds_decoder_redsea_impl.h +++ b/lib/rds_decoder_redsea_impl.h @@ -18,8 +18,8 @@ * Boston, MA 02110-1301, USA. */ -#ifndef INCLUDED_CRFA_RDS_DECODER_IMPL_H -#define INCLUDED_CRFA_RDS_DECODER_IMPL_H +#ifndef INCLUDED_MULTIRDS_RDS_DECODER_IMPL_H +#define INCLUDED_MULTIRDS_RDS_DECODER_IMPL_H #include @@ -77,5 +77,5 @@ private: } // namespace multirds } // namespace gr -#endif /* INCLUDED_CRFA_RDS_DECODER_IMPL_H */ +#endif /* INCLUDED_MULTIRDS_RDS_DECODER_IMPL_H */ diff --git a/lib/sync_decim_impl.cc b/lib/sync_decim_impl.cc index a753cc4..f46a837 100644 --- a/lib/sync_decim_impl.cc +++ b/lib/sync_decim_impl.cc @@ -26,7 +26,8 @@ #include "sync_decim_impl.h" #define DECIM 2 #define lout log && std::cout -#define SYNC_COUNTER_MAX 5//higher value -> slower sync, less cpu load +//#define SYNC_COUNTER_MAX 5//higher value -> slower sync, less cpu load +#define SYNC_COUNTER_MAX 7//higher value -> slower sync, less cpu load //#include namespace gr { namespace multirds { diff --git a/lib/sync_decim_impl.h b/lib/sync_decim_impl.h index fc28c6c..52cadff 100644 --- a/lib/sync_decim_impl.h +++ b/lib/sync_decim_impl.h @@ -18,8 +18,8 @@ * Boston, MA 02110-1301, USA. */ -#ifndef INCLUDED_CRFA_SYNC_DECIM_IMPL_H -#define INCLUDED_CRFA_SYNC_DECIM_IMPL_H +#ifndef INCLUDED_MULTIRDS_SYNC_DECIM_IMPL_H +#define INCLUDED_MULTIRDS_SYNC_DECIM_IMPL_H #include @@ -52,5 +52,5 @@ namespace gr { } // namespace multirds } // namespace gr -#endif /* INCLUDED_CRFA_SYNC_DECIM_IMPL_H */ +#endif /* INCLUDED_MULTIRDS_SYNC_DECIM_IMPL_H */ diff --git a/python/__init__.py b/python/__init__.py index 8f7196c..f571609 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -19,7 +19,7 @@ # The presence of this file turns this directory into a Python package ''' -This is the GNU Radio CRFA module. Place your Python package +This is the GNU Radio MULTIRDS module. Place your Python package description here (python/__init__.py). ''' diff --git a/python/rds_parser_table_qt.py b/python/rds_parser_table_qt.py index 3d11e80..6e9a11e 100644 --- a/python/rds_parser_table_qt.py +++ b/python/rds_parser_table_qt.py @@ -616,7 +616,7 @@ class rds_parser_table_qt(gr.sync_block):#START #decode 3A group of RT+ if AID==19415: #RT+ self.RDS_data[PI]["AID_list"][AID]["CB"]=(app_data>>12)&0x1 #is set if template available - self.RDS_data[PI]["AID_list"][AID]["SCB"]=(app_data >> 8)&0x0f#server control bit + self.RDS_data[PI]["AID_list"][AID]["SCB"]=(app_data >> 8)&0x0f#server control bits self.RDS_data[PI]["AID_list"][AID]["template_number"]=app_data&0xff #decode 3A group of TMC if AID==52550:#TMC alert-c (continuously update) diff --git a/swig/multirds_swig.i b/swig/multirds_swig.i index 2cd4c32..9b1eae2 100644 --- a/swig/multirds_swig.i +++ b/swig/multirds_swig.i @@ -1,6 +1,6 @@ /* -*- c++ -*- */ -#define CRFA_API +#define MULTIRDS_API %include "gnuradio.i" // the common stuff @@ -11,6 +11,7 @@ #include "multirds/rds_decoder.h" #include "multirds/sync_decim.h" #include "multirds/rds_decoder_redsea.h" +#include "multirds/stream_router.h" %} %include "multirds/rds_decoder.h" @@ -20,3 +21,5 @@ GR_SWIG_BLOCK_MAGIC2(multirds, rds_decoder); GR_SWIG_BLOCK_MAGIC2(multirds, sync_decim); %include "multirds/rds_decoder_redsea.h" GR_SWIG_BLOCK_MAGIC2(multirds, rds_decoder_redsea); +%include "multirds/stream_router.h" +GR_SWIG_BLOCK_MAGIC2(multirds, stream_router);