gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] Emulating GPS Over TCP Device Port


From: Gr Hudy
Subject: [gpsd-dev] Emulating GPS Over TCP Device Port
Date: Tue, 10 Jul 2018 12:06:39 -0600

Cheers!

First, a caveat: I am a GPS/INS newbie. I will, in all likelihood, use some incorrect terms, or radically misunderstand a few things. Please be gentle. I do have a few years///// decades of programming experience. Which doesn't mean I'm any good at that, either.

We have a non-standard INS device that we use; we already have an INS server that provides position and time information to other parts of our gizmo, in a proprietary format.

We need to provide time sync to an external gizmo; we have INS/GPS/PPS, the other device does not. gpsd is the best option we've found for sourcing time information to chrony (our choice of time sync app) or ntp. We have also connected the PPS signal to the kernel, which appears on /dev/pps0.

We only need the time service functionality of gpsd. Rather than develop native gpsd support for the INS we use, then refactor our existing INS server (or clients) to use gpsd as the source, it seems much simpler to have our existing INS server send 'fake' GPS packets to gpsd over the TCP device port as input to its time service. The existing functionality of our INS server can remain unchanged, as well as the clients that use it. I suspect using gpsd as the native server for our INS might result in challenges passing INS data to clients though gpsd anyway. Plus it's a lot more work.

I've been looking at the gpsd code, and I _think_ I've figured out how the TCP source works. First off, obviously, one sends JSON messages to that port, gpsd parses them, and gpsd does its thing with them.

My main question: What is the format of the JSON messages that it can/does parse from the TCP device port? Can I send TPV messages? I don't see code in gpsd that handles those as an input. Do I send RTCM2/RTCM3 messages? Some other format? I think AIS is supported there as well, but it looks like the AIS protocols are much more complicated.

Any advice would be greatly appreciated!

-Gr

reply via email to

[Prev in Thread] Current Thread [Next in Thread]