GPS Latitude/Longitude Buffer Verification

Dependencies:   mbed

Committer:
Rbinas
Date:
Sun Feb 24 02:08:17 2019 +0000
Revision:
2:68f47ba7fe0a
Parent:
0:8508616aa661
revo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rbinas 0:8508616aa661 1 #include "mbed.h"
Rbinas 0:8508616aa661 2 //Board:mbed LPC1768
Rbinas 0:8508616aa661 3 //Veriy GPS Lat/Long buffer Data from GNRMC sentence.If using Nema 0183 GPS, Change GNRMC to GPRMC
Rbinas 0:8508616aa661 4 //GPS Receiver: HolyBro
Rbinas 0:8508616aa661 5 //Wait until you get a good fix
Rbinas 0:8508616aa661 6 Serial gps(p9, p10); // TX, RX
Rbinas 0:8508616aa661 7 Serial pc(USBTX, USBRX); // TX, RX
Rbinas 0:8508616aa661 8 DigitalOut led1(LED1);
Rbinas 0:8508616aa661 9
Rbinas 0:8508616aa661 10 char s[82];
Rbinas 0:8508616aa661 11 char y1,y2,y3,y4,y5,y6,y7,y8,y9;
Rbinas 0:8508616aa661 12 char x1,x2,x3,x4,x5,x6,x7,x8,x9,x10;
Rbinas 0:8508616aa661 13 char NS,WE;
Rbinas 0:8508616aa661 14 char GPSBuffer[1024];
Rbinas 0:8508616aa661 15
Rbinas 0:8508616aa661 16 int main() {
Rbinas 0:8508616aa661 17 pc.baud(9600);
Rbinas 0:8508616aa661 18
Rbinas 0:8508616aa661 19 while (1) {
Rbinas 0:8508616aa661 20 GPSBuffer[0] = '\0';
Rbinas 0:8508616aa661 21 while (1) {
Rbinas 0:8508616aa661 22 char c = gps.getc();
Rbinas 0:8508616aa661 23 // char s[2];
Rbinas 0:8508616aa661 24 s[0] = c;
Rbinas 0:8508616aa661 25 s[1] = '\0';
Rbinas 0:8508616aa661 26 strcat(GPSBuffer, s);
Rbinas 0:8508616aa661 27 if (c == '\n') {
Rbinas 0:8508616aa661 28 break;
Rbinas 0:8508616aa661 29 }
Rbinas 0:8508616aa661 30
Rbinas 0:8508616aa661 31 if ((GPSBuffer[1] == 'G') && (GPSBuffer[2] == 'N') && (GPSBuffer[3] == 'R') && (GPSBuffer[4] == 'M') && (GPSBuffer[5] == 'C'))//GNRMC Sentence
Rbinas 0:8508616aa661 32 {
Rbinas 0:8508616aa661 33 //Latitude
Rbinas 0:8508616aa661 34 y1= GPSBuffer[19]; y2 = GPSBuffer[20]; //Degrees
Rbinas 0:8508616aa661 35 y3= GPSBuffer[21]; y4 = GPSBuffer[22];y5= GPSBuffer[24]; y6 = GPSBuffer[25];y7= GPSBuffer[26]; y8 = GPSBuffer[27];y9= GPSBuffer[28]; //DEGMIN
Rbinas 0:8508616aa661 36 NS = GPSBuffer[30];
Rbinas 0:8508616aa661 37 //Longitude
Rbinas 0:8508616aa661 38 x1= GPSBuffer[32]; x2= GPSBuffer[33]; x3= GPSBuffer[34];//Degrees
Rbinas 0:8508616aa661 39 x4=GPSBuffer[35]; x5=GPSBuffer[36]; x6=GPSBuffer[38]; x7=GPSBuffer[39]; x8=GPSBuffer[40]; x9=GPSBuffer[41];x10=GPSBuffer[42];//DEGMIN
Rbinas 0:8508616aa661 40 WE=GPSBuffer[44];
Rbinas 0:8508616aa661 41 }
Rbinas 0:8508616aa661 42 }
Rbinas 0:8508616aa661 43
Rbinas 0:8508616aa661 44 pc.printf("Latitude:%c%c:%c%c.%c%c%c%c%c %c",y1,y2,y3,y4,y5,y6,y7,y8,y9,NS); //Print latitude buffer data
Rbinas 0:8508616aa661 45 pc.printf(" Longitude:%c%c%c:%c%c.%c%c%c%c%c %c\r\n",x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,WE); //Print Longitude buffer data
Rbinas 0:8508616aa661 46
Rbinas 0:8508616aa661 47 led1 = !led1;
Rbinas 0:8508616aa661 48 }
Rbinas 0:8508616aa661 49 }