Due to some memory and timing issues with my attempt to do everything on a single processor I have split the tasks into two processors. There is one processor dedicated to parsing the info from the GPS as well as any other sensors which will be added later. The other processor takes the input from the sensor processor then builds and writes the GPX file to the microSD card.
Right now I am using a LilyPad with a atmega 328 for the sensor processor since that was the only 3.3v arduino I had handy. I have not decided if I will continue to use it, or get another Mini Pro for that use since my plan for the LillyPad was to run the user interface
Mainly since I don’t feel like setting up a local git repository I added two new ones to gitHub (http://github.com/suttonr) for the program code for the micros and a Producer-Consumer library which communicates over I2C which links to the processors together. This is not strictly the traditional Producer-Consumer problem typically encountered due to the I2C link rather then interprocess communications but thats the only name i could come up with. Right now the library is very limited, mainly in that only the Consumer has been started. The idea of the library is the provide basic transport for a 32bit word of data, one byte of metadata, and a simple XOR checksum.