I am getting data in this form as shown in the picture (GPS_Data). I am receiving three messages (GGA, VTG, ZDA) from GPS. I want to receive them one by one.
Like:
GGA
VTG
ZDA
The second picture (GPS_Data_TeraTerm) shows data of GPS I am getting directly from the serial port.
hi,
You will have to add ID's for each message you want to display.
Example.
E
//--------------------------------------------------------------------------------------------------------------
void PrintGPS(void)
{
if (msgEOL) {
// Serial.println(GPSmessage); // Use to Check raw message strID1=(GPSmessage.substring(4,6)); if (strID1 == "GG"){
Serial.print("$");
Serial.print(GPSmessage.substring(8,14));
Serial.print(",N");
Serial.print(GPSmessage.substring(18,28));
Serial.print(",E");
Serial.println(GPSmessage.substring(31,42));
}
GPSmessage = "";
strID1="";
msgEOL = false;
}
if (msgEOL) {
// Serial.println(GPSmessage); // Use to Check raw message strID2=(GPSmessage.substring(4,6));
if (strID2 == "TG"){
Serial.print("$");
Serial.print(GPSmessage.substring(8,14)); // You will have to modify these substrings
Serial.print(",N");
Serial.print(GPSmessage.substring(18,28));
Serial.print(",E");
Serial.println(GPSmessage.substring(31,42));
}
GPSmessage = "";
strID2="";
msgEOL = false;
}
I made a program according to your suggestions. But still, I am not getting messages in synchronized form. The screenshot is attached also the program is attached.
hi ume.
Still checking your Code.
Look at this option, it works, a GPS message Block every 1 Second on my NEO.
My NEO does not have EOL as a Return code but an LF,