I did my first test drive this morning using my arduino GPS hardware (which I will post an article about soon) running my GPX library. The most major issue I found is that apparently I have longitude and latitude swapped in my GPS example code which can be found at the dev branch on github. Here is the track I recorded this morning.
I did run into some memory issues while trying to cram three rather large libraries onto the 2k of SRAM in the Arduino ( w/ atmega328 don’t even try this on a atmega 168 ) as a result I moved to the older Fat16lib sd card library. I am hoping to optimise the GPX lib so that it can be used with sdfatlib but it looks like it will be a tight squeeze. Right now the most memory intensive part of the program is the header construction, luckly it appears that the majority of the memory is freed up in the main loop.
Another formatting issue I found was that the TinyGPS lib I am using omits the decimal point in the location. After I quickly fixed the the lon/lat swap and decimal point issue in a text editor ( :%s/lat/xxx/; :%s /lon/lat/; %s/xxx/lon/; :%s/71/71./; :%s/42/42./; ) the files successfully passed XML validation as defined at topografix.com. I was also able to import the resulted files into merkaartor to generate the image above. All and all a good first run.