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.
Fork of GPS by
main.cpp
00001 #include "mbed.h" 00002 //#include "GPS.h" 00003 #include <Serial.h> 00004 #include "getline.h" 00005 #include <math.h> 00006 //#include "stream.h" 00007 00008 Serial pc(USBTX, USBRX); 00009 //GPS gps(p13, p14); 00010 00011 Serial uart1(p13, p14); 00012 char c; 00013 int event_callback_t ; 00014 int event; 00015 unsigned char char_match ; 00016 char msg[1000]; 00017 /** The longitude (call sample() to set) */ 00018 float longitude; 00019 00020 /** The latitude (call sample() to set) */ 00021 float latitude,time2; 00022 00023 char ns, ew; 00024 int lock; 00025 int main() { 00026 uart1.baud(9600); 00027 printf("hello\n"); 00028 while (1){ 00029 if (uart1.readable()) 00030 { 00031 00032 getline(uart1,msg,999); 00033 // pc.printf("\n %s",msg); 00034 //pc.printf("long= %f %c latitude= %f %c\n",&longitude, &ew, &latitude, &ns); 00035 // Check if it is a GPGGA msg (matches both locked and non-locked msg) 00036 if ( sscanf(msg, "$GPGGA,%f,%f,%c,%f,%c,%d", &time2, &latitude, &ns, &longitude, &ew, &lock )>=1) 00037 { 00038 if(!lock) { 00039 longitude = 0.0; 00040 latitude = 0.0; 00041 pc.printf("long= %f %c latitude= %f %c\n",&longitude, &ew, &latitude, &ns); 00042 //return 0; 00043 } else { 00044 if(ns == 'S') { latitude *= -1.0; } 00045 if(ew == 'W') { longitude *= -1.0; } 00046 float degrees =(latitude / 100.0f); 00047 float minutes = latitude - (degrees * 100.0f); 00048 latitude = degrees + minutes / 60.0f; 00049 degrees = (longitude / 100.0f * 0.01f); 00050 minutes = longitude - (degrees * 100.0f); 00051 longitude = degrees + minutes / 60.0f; 00052 printf("time = %f \n", time2); 00053 pc.printf("long= %f %c latitude= %f %c\n",longitude, ew, latitude, ns); 00054 //return 1; 00055 }//end else 00056 }//end if 00057 }//end if 00058 } //end while 00059 } //end main 00060 00061 /* 00062 c=uart1.getc(); 00063 pc.printf("%c",c); 00064 */ 00065 /* } 00066 00067 00068 */ 00069 /* 00070 while(1) { 00071 //wait(1.0); 00072 //printf("hello bis\n"); 00073 00074 if(gps.sample()) { 00075 printf("I'm at %f, %f\n", gps.longitude, gps.latitude); 00076 } else { 00077 printf("Oh Dear! No lock :(\n"); 00078 } 00079 } 00080 } 00081 00082 00083 // Print "Hello World" to the PC 00084 00085 #include "mbed.h" 00086 */ 00087
Generated on Fri Jul 15 2022 06:22:47 by
1.7.2
