ckuethe / gr-nmea

Adding NMEA and GPSD data to gnuradio flowgraphs
GNU General Public License v3.0
22 stars 5 forks source link

Dictionary read wrong in cpp #3

Open ahmadsj94 opened 7 years ago

ahmadsj94 commented 7 years ago

Reading the PMT in c++ gives the wrong key value pairs, like so

*** MESSAGE DEBUG PRINT ****

Dictionary Keys: ((gps_time . 2017-05-15 12:23:41))

Dictionary Values: (((longitude . 23.8505) (latitude . 38.0829) (valid . #t) (host_time . 2017-05-15 12:23:41.843005) (protocol . nmea) (id . RMC))) (((gps_time . 2017-05-15 12:23:41) (longitude . 23.8505) (latitude . 38.0829) (valid . #t) (host_time . 2017-05-15 12:23:41.843005) (protocol . nmea) (id . RMC)))


This output results from reading the keys, then values, then printing, like so

void reader_impl::print(pmt::pmt_t msg) { std::cout << "*** MESSAGE DEBUG PRINT ****\n";

  std::cout<<"\nDictionary Keys: "<<pmt::dict_keys(msg)<<"\n";
std::cout<<"\nDictionary Values: "<<pmt::dict_values(msg)<<"\n";
//auto m = mappify1(pmt::symbol_to_string(msg));
//for(auto const& p: m)
//    std::cout << '{' << p.first << " => " << p.second << '}' << '\n';
  pmt::print(msg);
  std::cout << "************************************\n";
}

Am I doing something wrong? Or are pmts read differently in python and cpp?