Software - manu-fwi/gps-ada GitHub Wiki

I am using the standard libraries: SD, LiquidCrystal for the LCD. I also use Adafruit_GPS but with 2 twists: first I took the software serial out of the picture as I dont need it and it caused some troubles anyway. I also had to modify the waitForSentence method as I do not use interrupts to read the serial port connected to the GPS. In this case this method has a bug and it just blocks.

I also use interrupts to take care of the rotary button instead of just polling it. It also has the advantage to enable the button to wake the arduino up when it falls asleep.

As for logging the GPS trace I used the LOCUS feature of this GPS which logs automatically every 15s the GPS coordinates in the GPS own memory. This means that the arduino can be put to sleep without any problem, enabling more power saving.

The downside is that the resulting trace file is actually the basic dump of the LOCUS GPS memory which must be decoded (check gps-babel to see if it works, I had no time to test that!)