Coder Social home page Coder Social logo

gr-nmea's Introduction

gr-nmea

This module includes a couple of blocks to connect to either a NMEA0183 GPS or a gpsd instance (for shared receivers or non NMEA protocols. This can be used to inject position, velocity, and time information into flowgraphs or recordings.

Usage

Instantiate an nmea_gpsd or nmea_serial block in your flowgraph. The raw NMEA output is available on the out port and can probably be safely discarded; asynchronous messages resulting from the parsing of the NMEA stream is available on the gps_msg port.

Both nmea_gpsd.py and nmea_serial.py can be run as standalone programs to demonstrate their functionality.


Dependencies

pynmea2 is required for NMEA0183 parsing

gpsd is useful for multiplexed device access, though not required for these modules

gr-nmea's People

Contributors

ckuethe avatar eliotg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gr-nmea's Issues

Dictionary read wrong in cpp

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?

GNU Radio 3.8

Hi there!
Is it possible to make gr-nmea work in GNU Radio 3.8?
Thanks a lot!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.