![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
affichage d m s
Fork of GPS by
Diff: main.cpp
- Revision:
- 2:addb687a4e73
- Parent:
- 1:f24af888e699
- Child:
- 3:8234e0d5854e
--- a/main.cpp Fri Mar 11 10:18:09 2016 +0000 +++ b/main.cpp Fri Mar 11 10:25:05 2016 +0000 @@ -1,14 +1,11 @@ #include "mbed.h" -//#include "GPS.h" #include <Serial.h> #include "getline.h" -#include <math.h> -//#include "stream.h" - + Serial pc(USBTX, USBRX); //GPS gps(p13, p14); -Serial uart1(p13, p14); +Serial uart1(p13, p14); //pin RX et TX du GPS char c; int event_callback_t ; int event; @@ -23,35 +20,30 @@ char ns, ew; int lock; int main() { - uart1.baud(9600); - printf("hello\n"); + uart1.baud(9600); //vitesse de transmission de informations + printf("hello\n"); //test while (1){ if (uart1.readable()) { getline(uart1,msg,999); - // pc.printf("\n %s",msg); - //pc.printf("long= %f %c latitude= %f %c\n",&longitude, &ew, &latitude, &ns); - // Check if it is a GPGGA msg (matches both locked and non-locked msg) if ( sscanf(msg, "$GPGGA,%f,%f,%c,%f,%c,%d", &time2, &latitude, &ns, &longitude, &ew, &lock )>=1) { if(!lock) { - longitude = 0.0; - latitude = 0.0; - pc.printf("long= %f %c latitude= %f %c\n",&longitude, &ew, &latitude, &ns); - //return 0; + longitude = 0.0; + latitude = 0.0; + pc.printf("long= %f %c latitude= %f %c\n",&longitude, &ew, &latitude, &ns); } else { - if(ns == 'S') { latitude *= -1.0; } - if(ew == 'W') { longitude *= -1.0; } - float degrees =(latitude / 100.0f); - float minutes = latitude - (degrees * 100.0f); - latitude = degrees + minutes / 60.0f; - degrees = (longitude / 100.0f * 0.01f); - minutes = longitude - (degrees * 100.0f); - longitude = degrees + minutes / 60.0f; - printf("time = %f \n", time2); - pc.printf("long= %f %c latitude= %f %c\n",longitude, ew, latitude, ns); - //return 1; + if(ns == 'S') { latitude *= -1.0; } + if(ew == 'W') { longitude *= -1.0; } + float degrees =(latitude / 100.0f); + float minutes = latitude - (degrees * 100.0f); + latitude = degrees + minutes / 60.0f; + degrees = (longitude / 100.0f * 0.01f); + minutes = longitude - (degrees * 100.0f); + longitude = degrees + minutes / 60.0f; + pc.printf("time = %f \n", time2); + pc.printf("long= %f %c latitude= %f %c\n",longitude, ew, latitude, ns); }//end else }//end if }//end if