"Bug Adventures" II - Why doesn't my GPS work?
(Part 2 of my Bug Adventures series, for more real time wiki action check out my Bug Adventures wiki where I flesh out my thoughts before posting them here!)
Why doesn't my GPS aka BUGgps seem to work? By "not working", I mean it doesn't get a GPS satellite lock which results in a Java exception for those using the high level API and void values e.g. "$GPGLL,,,,,022837.595,V*1D "for apps reading the RAW GPS sentences. My guess is it's a low level software bug that will be fixed in the "real soon now" R1.4 software release. Note that I have attached the external antenna and put it on the window sill where my other GPSes (Nokia LD-4W, Nokia E71) have no problems obtaining a GPS lock!
Herewith my debugging notes:
- http://bugcommunity.com/forums/viewtopic.php?t=351 seems to be the definitive source of how to fix your GPS! the fix in the thread:
- "navigate the front-panel menu to the GPS module
and you will be able to see fix: True/False and IOX, which is the value
of the IOX register:"
- (front panel led sequence is: modules->GPS->IOX) I get 0x63 which means
- bit 0: 1 == no GPS fix, since fix is active low
- bit 1: 1 = no overcurrent condition
- bit 2: 0 = no wakeup from sleep
- bit 3: 0 = don't know what this is, guess is 0 means don't download firmware
- bit 4,5 unused
- bit 7,6 0,1 == external antenna
- (front panel led sequence is: modules->GPS->IOX) I get 0x63 which means
- "navigate the front-panel menu to the GPS module
and you will be able to see fix: True/False and IOX, which is the value
of the IOX register:"
- Other people's code I have tried
- GPSRawFeedExample always outputs "V*blah" which I think means void!
- e.g. $GPGLL,,,,,051302.397,V*10
- GPSLoggerSimpleGUI - the GUI doesn't work but at least the program doesn't crash :-)
- GPSLogger2 creates a zero length file in /tmp but does nothing else e.g. /tmp/GPSSun Jan 04 20:25:49 UTC 2009.log
- GpsLogger_1.1 java.lang.NullPointerException
at com.buglabs.bug.module.gps.GPSModlet.getLatitudeLongitude(Unknown Source) - My friend Simon's app has the same bug as GPS Logger 1.1 i.e. java.lang.NullPointerException
at com.buglabs.bug.module.gps.GPSModlet.getLatitudeLongitude(Unknown Source)- Simon's guess: the NMEA sentence they are getting from the underlying
hardware isn't quite in the format they expect, so they end up trying
to get a double out of the string "," - http://lists.buglabs.net/pipermail/bug-dev/2008-December/000167.html seems to be the same problem!
- Simon's guess: the NMEA sentence they are getting from the underlying
- GPSRawFeedExample always outputs "V*blah" which I think means void!
- Evidence that this is a Bug that's being worked on:
- this fix went into svn trunk (svn://svn.buglabs.net/bug/trunk ) on December 14, 2008, http://svn.buglabs.net/svn/!revision/7632
// default to passive (external) antenna, until
// such time as we have confidence in the internal
// antenna's ability to obtain a fix
log.log(LogService.LOG_DEBUG, "GPSModlet defaulting to passive (external) antenna");
setPassiveAntenna();
- this fix went into svn trunk (svn://svn.buglabs.net/bug/trunk ) on December 14, 2008, http://svn.buglabs.net/svn/!revision/7632