Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:8508616aa661, 2018-05-02 (annotated)
- Committer:
- Rbinas
- Date:
- Wed May 02 03:53:27 2018 +0000
- Revision:
- 0:8508616aa661
- Child:
- 1:ae1120188730
- Child:
- 2:68f47ba7fe0a
GPS Latitude/Longitude Buffer Verification
Who changed what in which revision?
| User | Revision | Line number | New 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 | // char gpsout[1024]; |
| Rbinas | 0:8508616aa661 | 20 | while (1) { |
| Rbinas | 0:8508616aa661 | 21 | GPSBuffer[0] = '\0'; |
| Rbinas | 0:8508616aa661 | 22 | while (1) { |
| Rbinas | 0:8508616aa661 | 23 | char c = gps.getc(); |
| Rbinas | 0:8508616aa661 | 24 | // char s[2]; |
| Rbinas | 0:8508616aa661 | 25 | s[0] = c; |
| Rbinas | 0:8508616aa661 | 26 | s[1] = '\0'; |
| Rbinas | 0:8508616aa661 | 27 | strcat(GPSBuffer, s); |
| Rbinas | 0:8508616aa661 | 28 | if (c == '\n') { |
| Rbinas | 0:8508616aa661 | 29 | break; |
| Rbinas | 0:8508616aa661 | 30 | } |
| Rbinas | 0:8508616aa661 | 31 | |
| Rbinas | 0:8508616aa661 | 32 | if ((GPSBuffer[1] == 'G') && (GPSBuffer[2] == 'N') && (GPSBuffer[3] == 'R') && (GPSBuffer[4] == 'M') && (GPSBuffer[5] == 'C'))//GNRMC Sentence |
| Rbinas | 0:8508616aa661 | 33 | { |
| Rbinas | 0:8508616aa661 | 34 | //Latitude |
| Rbinas | 0:8508616aa661 | 35 | y1= GPSBuffer[19]; y2 = GPSBuffer[20]; //Degrees |
| Rbinas | 0:8508616aa661 | 36 | 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 | 37 | NS = GPSBuffer[30]; |
| Rbinas | 0:8508616aa661 | 38 | //Longitude |
| Rbinas | 0:8508616aa661 | 39 | x1= GPSBuffer[32]; x2= GPSBuffer[33]; x3= GPSBuffer[34];//Degrees |
| Rbinas | 0:8508616aa661 | 40 | 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 | 41 | WE=GPSBuffer[44]; |
| Rbinas | 0:8508616aa661 | 42 | } |
| Rbinas | 0:8508616aa661 | 43 | } |
| Rbinas | 0:8508616aa661 | 44 | |
| Rbinas | 0:8508616aa661 | 45 | 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 | 46 | 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 | 47 | |
| Rbinas | 0:8508616aa661 | 48 | led1 = !led1; |
| Rbinas | 0:8508616aa661 | 49 | } |
| Rbinas | 0:8508616aa661 | 50 | } |