It sounds like you are going about this right. Starting at the beginning and work up to where you want your final project to be.
I have not used the AdaFruit GPS logger, but in reading the code that you posted one thing stood out.
//This code is intended for use with Arduino Leonardo and other ATmega32U4-based Arduinos
In your first post you state that you are using and Moteino USB, which uses the ATMega328 processor. The code you are trying to run is written for ATmega32U4. I don't know much about the differences, but based on the fact that there is a different sketch published, it probably wont work on the wrong processor.
This is not to say you have purchased the wrong hardware!
There are several different sketches published by AdaFruit, I think that the one you are looking for at this stage of your project is the echo sketch. Pay careful attention to the comments in the code. There are different baud rates depending on what hardware you are talking to. It looks like the GPS is running at 9600 to the Arduino Moteino, but the serial monitor is talking at 115200 to the Arduino Moteino in order to display everything. This is a bit confusing since this normally does not happen. Think of it like this - The GPS is speaking one language, the Moteino is translating it and speaking a different language to you on the serial monitor.
According to the comments in the code, even with the faster baud rate between Moteino and serial monitor, you can overwhelm things if you ask for too much information. The GPS can update 10 times per second (10Hz), but the serial monitor can't give you Lat AND Long AND elevation AND speed AND current time AND whatever else you ask for at that rate.
You may get more joy and help from the AdaFruit forums on the GPS portion of this. Make sure that you fully understand what you are seeing using 1 Moteino over the serial FTDI adapter before you go nuts trying to transmit the data over the RFM69HW links to other Mote's.
I'm sure other people will be around to offer advice, and maybe someone else has used the Ultimate GPS with a Moetino and solved all these problems already.
LG
Merry Christmas!
For starters, where did the code you are using come from? Please provide a link.
The blinker routine occupies the processor for a full 3 seconds every time it is called,and does nothing but blink an LED. I can see this being useful after initial power up while you wait for a satelite lock, but not elsewhere. There are comments in the code that state This routine is run between each time loop() runs, so using delay inside loop can delay response. Multiple bytes of data may be available.
But the way the code is written, every time loop runs it has a 3 second delay.
In this section of code:
void loop() {
// print the string when a newline arrives:
if (stringComplete) {
Serial.println(inputString);
// clear the string:
inputString = "";
Serial.println("Reseting everything!");
blinker();
stringComplete = false;
}
else {
serialEvent();
}
You check to see if the string is complete, and if it is, print it out, clear the string, print a resetting statement, then you send the processor to blink the LED for 3 seconds and when you return, set stringComplete to false.
In the 3 seconds the processor was blinking, the GPS may have sent lots of data to the hardware serial port. Possibly enough to overrun buffers.
Likewise in the serialEvent code
if (inChar == '\r' || inChar == '\n') {
stringComplete = true;
blinker();
Serial.println("Got an end of line marker!");
You append new chars to the input string until you get a newline, set stringComplete true, then wait 3 seconds, then print a note and exit the function.
I'm not an expert coder by any means, but this seems strange to me.
Lg