1 #include <SoftwareSerial.h>
3 SoftwareSerial gpsSerial(10, 11); // RX, TX (TX not used)
4 const int sentenceSize = 80;
6 char sentence[sentenceSize];
11 gpsSerial.begin(9600);
17 if (gpsSerial.available())
19 char ch = gpsSerial.read();
20 if (ch != '\n' && i < sentenceSize)
29 Serial.println(sentence);
39 if (strcmp(field, "$GPRMC") == 0)
41 Serial.print("Lat: ");
42 getField(field, 3); // number
44 getField(field, 4); // N/S
47 Serial.print(" Long: ");
48 getField(field, 5); // number
50 getField(field, 6); // E/W
51 Serial.println(field);
55 void getField(char* buffer, int index)
60 while (sentencePos < sentenceSize)
62 if (sentence[sentencePos] == ',')
67 if (commaCount == index)
69 buffer[fieldPos] = sentence[sentencePos];
74 buffer[fieldPos] = '\0';