affichage d m s

Dependencies:   mbed

Fork of GPS by tito tito

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