This is a post that describes how GPSSerial was debugged to fix the heading bug that appeared in Navigon and TomTom.
As you can imagine, it is very time-consuming to get on the road and do real-life GPS testing every time the code for GPSSerial is updated. As such I decided to record the output of the iGPS360 module to a file while driving my car on a route that was known to have heading problems in Navigon.
What you see in the above video is an in-door setup where the iPod Touch is connected through an interface board to my desktop computer. The desktop computer in turn plays back the on-the-road recorded GPS trace through the interface board. This setup is a huge time-saver when it comes to testing bug-fixes in the GPSSerial source code.
In the course of the debugging process, I also updated the iPhone Toolchain on the desktop PC (running cygwin) to firmware version 3.1.x as I first thought that the bug was related to the Toolchain version. This was quite an experience in itself: not without problem; although the instructions at Saurik's page are very good, they are not complete, and neither up-to-date (yet) for the 3.1.x firmware.
After having spent a lot of time on testing and debugging the code, all the work has finally paid off: the latest GPSSerial version is finally working correctly with Navigon. The incorrect-heading bug is now fixed and the red GPS bar does no longer appear when you are not moving.
You can download and install the latest GPSSerial version by following the instructions on the Orange Gadgets site here.
The new version should hopefully be available through Cydia soon as well.
Try it out and feel free to leave your feedback in the comments.