I haven't worked on this project for a while due to a death in the family around the end of March. It put most of my project work on hold. I'm finally beginning to feel like getting back to work on some of the projects that have been on hold. I have only just recently started thinking about getting back to work on this project.
Over the past three days I have restructured the source code tree for this project. I moved a number of files in to a separate directory and used them to make a library file. I also created a separate directory to hold various test programs. Some of the test programs use the new library file.
In the past I ran tests by modifying the main program through #if statements. I now have separate programs to check control of the LED and to send serial data via bit banging and using the USI. I am now working on a test program that uses the USI to receive serial data from the GPS module. The serial receive routine is not yet working.
I'm running the processor at a low clock rate to keep current consumption down. I parse the incoming NMEA formatted GPS data while it is being received to minimize the amount of RAM needed to store the data. I may not have enough execution cycles available to process the data on the fly. In the next few days I will check how much time it is taking to process the received serial data. If there isn't enough time to process the incoming data I may have to change the microcontroller to an ATtiny85. It has more RAM which would allow me to store the incoming GPS data which I can process in between the bursts of data from the GPS module.