I'm a roadgeek and a mapgeek, so something I've done ever since I was little is get a map and follow a route to some destination, or no destination in particular. So the "Demo" feature on my TomTom looked like it would be great fun! I plugged in a distant destination, a thousand-mile trip, and told my unit to take me there at 500% speed. It got a good ways out of town... and then started over again. Darn!
I tried again, and had the same result. I figured it was because of satellite drift, or something, so I used the "Plan Route" feature to tie down the start point. Still no luck.
I tried again at work, in a spot with no satellite coverage at all. Strangely, the sat signal bars showed increasing activity. But after a while, poof, back to the starting point.
I haven't plotted out exactly how far it gets, but it seems to be about the same distance each time -- even for completely different distant destinations.
Finally, that satellite activity got me curious. I pulled up the raw GPS status (poke the bars, then poke the bars again), and saw the satellites moving around like crazy! And always 2-4 showing valid data -- definitely *not* what's available from my desk.
So I think I know the problem. The Demo program isn't feeding raw coordinates to the rest of the code. I think the Demo works by submitting fake GPS satellite information to the rest of the code. This makes sense, kinda... it's the lowest-level data, and requires the least tweaking of the application code. I'm a programmer, and I know you don't want to introduce a bug into the core functionality just so you can add some cute nice-to-have feature.
I think the problem is that this method only works as long as the ephemeris data is valid. But as I've learned from other threads, GPS ephemeris data needs to be refreshed periodically. I suspect that when the demo gets too far away, it hits a point where it needs new ephemeris from the satellites. It can't get it, because it's not actually *in* the location it "thinks" it's in. The routine bombs out (gracefully, I hope) and the simulation restarts from the beginning.
I hope the project managers get a chance to allocate a few more programmer-hours to the "Demo" project. Because as satisfying as this hypothesis is for my computer geek side, it doesn't do squat for the mapgeek in me.
I tried again, and had the same result. I figured it was because of satellite drift, or something, so I used the "Plan Route" feature to tie down the start point. Still no luck.
I tried again at work, in a spot with no satellite coverage at all. Strangely, the sat signal bars showed increasing activity. But after a while, poof, back to the starting point.
I haven't plotted out exactly how far it gets, but it seems to be about the same distance each time -- even for completely different distant destinations.
Finally, that satellite activity got me curious. I pulled up the raw GPS status (poke the bars, then poke the bars again), and saw the satellites moving around like crazy! And always 2-4 showing valid data -- definitely *not* what's available from my desk.
So I think I know the problem. The Demo program isn't feeding raw coordinates to the rest of the code. I think the Demo works by submitting fake GPS satellite information to the rest of the code. This makes sense, kinda... it's the lowest-level data, and requires the least tweaking of the application code. I'm a programmer, and I know you don't want to introduce a bug into the core functionality just so you can add some cute nice-to-have feature.
I think the problem is that this method only works as long as the ephemeris data is valid. But as I've learned from other threads, GPS ephemeris data needs to be refreshed periodically. I suspect that when the demo gets too far away, it hits a point where it needs new ephemeris from the satellites. It can't get it, because it's not actually *in* the location it "thinks" it's in. The routine bombs out (gracefully, I hope) and the simulation restarts from the beginning.
I hope the project managers get a chance to allocate a few more programmer-hours to the "Demo" project. Because as satisfying as this hypothesis is for my computer geek side, it doesn't do squat for the mapgeek in me.