Tuesday, March 12, 2013

Updated GPS using Ublox 6M

I have prepared two Ublox 6M modules for use with the platform.  I think I found the bug that was causing the erratic GPS performance during our limited testing.

The threaded serial module is designed around a call and response model.  However, the GPS just streams data constantly.  As a result there isn't always data available when the threaded serial class asks for it, which returns a null.  We weren't resetting the goodValue flag if a Null was received which resulted in problems.

I don't want to implement the requirement on goodValue in the gps module as it could result in the entire platform hanging while waiting for the gps which would defeat the purpose of threaded serial in the first place. Instead we should wrap each call to getValidGPS with a check on goodValue and a time out.

The modules are all set and should be just a straight plug in and set the appropriate COM port, but instructions on setting up from scratch are at http://profmason.com/?p=9716