<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
 &nbsp;When checked Android, they have a few interesting features in the<br>
positioning area. I think they have their own GPS hardware interfacing<br>
and interpretation, which is then supplied to the userspace. Also,<br>
they have a number of different location providers, like the gps<br>
satellites, GSM cell information, Wifi hotspots.... [3]</blockquote><div><br></div><div>I have just been toying with the Android location services on OM. At least in the Koolu version, the Android GPS interface to GPS hardware as it exists on the G1 phone with a close-source libgps.so library is replaced by the qemu code which parses (only two) NMEA sentences, but which are sufficient to supply location fixes to the Android stack. (The restriction to two NMEA message is AFAIK because Android does not currently make anything but location fixes available to Android application code, so there was no need to parse anything else).</div>
<div><br></div><div>This worked, together with the koolu kernel, out of the box to supply location information. (Of course Android MapActivities will not work as this is closed-source, but that is an entirely different issue).</div>
<div><br></div><div>I am in the process of adding parsing of some more NMEA messages to hardware/libhardware/gps/gps_qemu.cpp, so that additionally satellite status information is supplied on OM machines. I posted some of that code on the koolu forum at&nbsp;</div>
<div><a href="http://forum.koolu.org/viewtopic.php?f=10&amp;t=58#p363">http://forum.koolu.org/viewtopic.php?f=10&amp;t=58#p363</a><br></div><div><br></div><div>I agree that ideally there should be one code-base for parsing NMEA messages, but then there will be a need to parse whatever intermediate format there is, to propagate it into the Android stack.</div>
<div>So for any Android work the question is whether there is a better way than to hijack gps_qemu.cpp for this.&nbsp;</div><div><br></div><div>Ludwig</div><div><br></div></div>