Reply
Thread Tools
Posts: 164 | Thanked: 132 times | Joined on Dec 2007
#1
In addition to all of the other problems reported with GPS, I think I found another one.

It appears that the gpsd daemon introduces a delay when reporting GPS data. As a result, mapping software (both maemo mapper and the built-in crappy one) show positions with a lag of a couple of seconds, sometimes more. This can translate into position inaccuracies of a couple hundred feet when driving at 70mph.

The reason I think the problem is in gpsd, is that there is a delay (as evidenced by NMEA timestamps) when running

/usr/libexec/navicore-gpsd-helper

but not when reading directly out of /dev/pgps.
 

The Following User Says Thank You to ag2 For This Useful Post:
Posts: 529 | Thanked: 46 times | Joined on Sep 2007
#2
Originally Posted by ag2 View Post
In addition to all of the other problems reported with GPS, I think I found another one.

It appears that the gpsd daemon introduces a delay when reporting GPS data. As a result, mapping software (both maemo mapper and the built-in crappy one) show positions with a lag of a couple of seconds, sometimes more. This can translate into position inaccuracies of a couple hundred feet when driving at 70mph.

The reason I think the problem is in gpsd, is that there is a delay (as evidenced by NMEA timestamps) when running

/usr/libexec/navicore-gpsd-helper

but not when reading directly out of /dev/pgps.
It works exactly as you described.
Delay loop, introduced by navigation software is intended to save
low performance processor, performing graphics tasks at the same time.
Gpsd loop delay can be set to 1-2 and more sec.
Running gpsd as a terminal application you don't have to care for processor performance as mno graphics processoing (maps) is involved.

Darius
 
Posts: 3,841 | Thanked: 1,079 times | Joined on Nov 2006
#3
That there's a deliberate delay programmed into the GPSD I don't buy for a second. Sounds like a pure simple bug to me. Particularly because the GPSD is called 'navicore-gpsd-helper', it's obviously meant to be used with a navigation system. And navigation systems can't have a delay like that, it makes the application next to useless.

ag2: Good find. It should explain some of the other problems described in other threads.
__________________
N800/OS2007|N900/Maemo5
-- Metalayer-crawler delenda est.
-- Current state: Fed up with everything MeeGo.
 
technut's Avatar
Posts: 574 | Thanked: 166 times | Joined on Oct 2007 @ BC, Canada
#4
Originally Posted by Darius2006 View Post
Delay loop, introduced by navigation software is intended to save low performance processor, performing graphics tasks at the same time. Gpsd loop delay can be set to 1-2 and more sec.
Wow, dude... don't just make stuff up, that's not cool. Can you point to some docs to back this up?

http://gpsd.berlios.de/gpsd.html
__________________
Please follow these simple posting guidelines.
There are no stupid questions, just people who didn't search itT (with Google) first.
 
technut's Avatar
Posts: 574 | Thanked: 166 times | Joined on Oct 2007 @ BC, Canada
#5
Here's an interesting thread that talks about gpsd on embedded devices and latency induced by high CPU and memory utilization:
http://www.nabble.com/gpsd-cpu-usage-td4873902.html
http://www.nabble.com/Re%3A-gpsd-cpu...td5056332.html
__________________
Please follow these simple posting guidelines.
There are no stupid questions, just people who didn't search itT (with Google) first.
 

The Following User Says Thank You to technut For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 22:47.