Remote I/O Sensor bus with AT&T flow and M2X cloud

Dependencies:   DHT11 FXOS8700CQ MODSERIAL mbed

Fork of Avnet_ATT_Cellular_IOT by Avnet

Revision:
70:24d5800f27be
Parent:
69:5a3414cc7531
Child:
71:45a5e426df81
--- a/sensors.cpp	Thu Aug 11 04:38:02 2016 +0000
+++ b/sensors.cpp	Thu Aug 11 07:40:45 2016 +0000
@@ -443,13 +443,13 @@
         bGPS_present = true;
         PRINTF("Xadow GPS Scan ID response = 0x%02X%02X (length), 0x%02X%02X%02X%02X\r\n", scan_id[0], scan_id[1], scan_id[2], scan_id[3], scan_id[4], scan_id[5]);
         char status = gps_get_status();
-        if (iSensorsToReport == TEMP_HUMIDITY_ACCELEROMETER_GPS)
+        if ((status != 'A') && (iSensorsToReport == TEMP_HUMIDITY_ACCELEROMETER_GPS))
         { //we must wait for GPS to initialize
             PRINTF("Waiting for GPS to become ready... ");
             while (status != 'A')
             {
                 wait (5.0);        
-                char status = gps_get_status();
+                status = gps_get_status();
                 unsigned char num_satellites = gps_get_sate_in_veiw();
                 PRINTF("%c%d", status, num_satellites);
             }
@@ -475,7 +475,8 @@
 
 void Read_GPS()
 {
-    unsigned char gps_quality = 0; //default 
+    unsigned char gps_quality = 0; //default
+    char sign;
     if (bGPS_present)
     {
         if ((gps_get_status() == 'A') && (gps_get_mode2() != '1'))
@@ -483,8 +484,24 @@
             gps_quality = 1;
         }
         PRINTF("gps_quality           : %d\r\n", gps_quality);
-        PRINTF("gps_get_latitude      : %c:%f\r\n", gps_get_ns(), gps_get_latitude());
-        PRINTF("gps_get_longitude     : %c:%f\r\n", gps_get_ew(), gps_get_longitude());
+        if (gps_get_ns() == 'S')
+        {
+            sign = '-'; //negative number
+        }
+        else
+        {
+            sign = '\0'; //empty character
+        }    
+        PRINTF("gps_get_latitude      : %c%f\r\n", sign, gps_get_latitude());
+        if (gps_get_ew() == 'W')
+        {
+            sign = '-'; //negative number
+        }
+        else
+        {
+            sign = '\0'; //empty character
+        }    
+        PRINTF("gps_get_longitude     : %c%f\r\n", sign, gps_get_longitude());
         PRINTF("gps_get_altitude      : %f meters\r\n", gps_get_altitude());
         PRINTF("gps_get_speed         : %f knots\r\n", gps_get_speed());
         PRINTF("gps_get_course        : %f degrees\r\n", gps_get_course());