From 5c1b6d8f456bc57e29c5e5a2a95b6b2d0562e985 Mon Sep 17 00:00:00 2001 From: csrichter Date: Mon, 10 Apr 2017 20:19:43 +0200 Subject: [PATCH] fixed redsea decoder (added -std=c++11 compiler option, removed local declaration of kErrorLookup in constructor) --- CMakeLists.txt | 4 ++++ lib/rds_decoder_redsea_impl.cc | 30 +++++++++++++++++++----------- python/tmc_parser.py | 2 +- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c59ca2c..70ae09f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,10 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. +#to use extended initializer lists +add_definitions(-std=c++11) + + ######################################################################## # Project setup ######################################################################## diff --git a/lib/rds_decoder_redsea_impl.cc b/lib/rds_decoder_redsea_impl.cc index ad27433..69bd2fc 100644 --- a/lib/rds_decoder_redsea_impl.cc +++ b/lib/rds_decoder_redsea_impl.cc @@ -54,10 +54,19 @@ namespace gr { set_output_multiple(104); // 1 RDS datagroup = 104 bits message_port_register_out(pmt::mp("out")); enter_no_sync(); - std::map, uint32_t> kErrorLookup = makeErrorLookupTable(); - + + dout << "constructing error lookup table"< 0) { + //~ dout<<"found sy 14 offset A in table"<, uint32_t> rds_decoder_redsea_impl::makeError 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"};*/ -dout << "constructing error lookup table"< 0) { - uint32_t err = kErrorLookup.at({syndrome, offset}); - dout << "correcting"< 0) { + uint32_t err = kErrorLookup.at({(uint16_t)syndrome, (char)offset}); + //dout << "correcting"< 10:#every 10 seconds + if time.time()-self.save_data_timer > 3:#every 3 seconds self.save_data_timer=time.time() self.save_data() m=pmt.to_python(msg)