
This work is licensed under a Creative Commons Attribution-Share Alike 2.0 France License.
This morning I spent sometimes trying to understand how the GPS subsystem on the freerunner works. I'm using SHR unstable. These information might be incomplete or wrong, so just use them with a grain of salt.
Ok, at the beginning the clients where connecting to the GPS device either directly :
or using gpsd
so far so good. In the end an application like tangogps or navit only needed to have a fix that is not that difficult to obtain from the raw device input.
But what if I want to handle and gather information from multiple GPS devices ? the idea here is to add an additional layer of indirection to make like easier to clients. On top of it, since the freerunner used dbus to communicate and frameworkd as a communication broker we have now two different players.
From [2], this is the story:
What is gypsy [3] ? Gypsy is a GPS multiplexing daemon/protocol which allows multiple clients to access GPS data from multiple GPS sources concurrently.
Now, my point was to use the GPS information collected by these two fantastic projects opencellid [5] and cellhunter [6]. In order to do that I would need to add a "fake" gps device to feed ogpsd with information retrieved from the cell database.
If the architecture I've described here is correct, it should not be to difficult to add the missing bit in ogpsd [4] ...
UPDATE: It seems that there is already an implementation [8,9] of agps fetching data from agps.u-blox.com and based on gllin [7] , but you will need a data connection to use this one.
[8] http://www.opkg.org/package_127.html [9] http://lists.openmoko.org/pipermail/community/2008-June/018680.html
http://gpsd.berlios.de/NMEA.txt
[2] http://kerneltrap.org/index.php?q=mailarchive/openmoko-community/2008/9/24/3395094
[3] http://gypsy.freedesktop.org/wiki/
[4] http://git.freesmartphone.org/?p=framework.git;a=tree;f=framework/subsystems/ogpsd;hb=HEAD
[5] http://www.opencellid.org/
Recent comments
1 week 5 days ago
2 weeks 3 days ago
4 weeks 1 hour ago
7 weeks 2 days ago
15 weeks 11 hours ago
15 weeks 3 days ago
15 weeks 6 days ago
15 weeks 6 days ago
16 weeks 1 hour ago
16 weeks 1 hour ago