Fork with SeeedStudio Xadow GPS v2 enabled
Dependencies: FXOS8700CQ MODSERIAL XadowGPS mbed
Fork of Avnet_ATT_Cellular_IOT by
Diff: sensors.cpp
- Revision:
- 70:24d5800f27be
- Parent:
- 69:5a3414cc7531
- Child:
- 71:45a5e426df81
diff -r 5a3414cc7531 -r 24d5800f27be sensors.cpp --- 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());