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.
Dependencies: FXOS8700CQ MODSERIAL mbed
Fork of Avnet_ATT_Cellular_IOT by
Diff: sensors.cpp
- Revision:
- 71:45a5e426df81
- Parent:
- 70:24d5800f27be
- Child:
- 72:b500e1507b5f
--- a/sensors.cpp Thu Aug 11 07:40:45 2016 +0000
+++ b/sensors.cpp Thu Aug 11 17:04:09 2016 +0000
@@ -425,7 +425,7 @@
void Init_GPS(void)
{
char scan_id[GPS_SCAN_SIZE+2]; //The first two bytes are the response length (0x00, 0x04)
- I2C_WriteSingleByte(GPS_DEVICE_ADDR, GPS_SCAN_ID, false); //no hold, must do read
+ I2C_WriteSingleByte(GPS_DEVICE_ADDR, GPS_SCAN_ID, true); //no hold, must do read
unsigned char i;
for(i=0;i<(GPS_SCAN_SIZE+2);i++)
@@ -475,38 +475,45 @@
void Read_GPS()
{
- unsigned char gps_quality = 0; //default
- char sign;
+ unsigned char gps_valid = 0; //default
+ int lat_sign;
+ int long_sign;
if (bGPS_present)
{
if ((gps_get_status() == 'A') && (gps_get_mode2() != '1'))
{
- gps_quality = 1;
+ gps_valid = 1;
}
- PRINTF("gps_quality : %d\r\n", gps_quality);
if (gps_get_ns() == 'S')
{
- sign = '-'; //negative number
+ lat_sign = -1; //negative number
+ }
+ else
+ {
+ lat_sign = 1;
+ }
+ if (gps_get_ew() == 'W')
+ {
+ long_sign = -1; //negative number
}
else
{
- sign = '\0'; //empty character
+ long_sign = 1;
}
- 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());
+#if (0)
+ PRINTF("gps_valid : %d\r\n", gps_valid);
+ PRINTF("gps_get_latitude : %f\r\n", (lat_sign * gps_get_latitude()));
+ PRINTF("gps_get_longitude : %f\r\n", (long_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());
- //sprintf(SENSOR_DATA.Temperature, "%0.2f", CTOF(hts221.readTemperature()));
- //sprintf(SENSOR_DATA.Humidity, "%02d", hts221.readHumidity());
+#endif
+ sprintf(SENSOR_DATA.GPS_Valid, "%d", gps_valid);
+ sprintf(SENSOR_DATA.GPS_Latitude, "%f", (lat_sign * gps_get_latitude()));
+ sprintf(SENSOR_DATA.GPS_Longitude, "%f", (long_sign * gps_get_longitude()));
+ sprintf(SENSOR_DATA.GPS_Altitude, "%f", gps_get_altitude());
+ sprintf(SENSOR_DATA.GPS_Speed, "%f", gps_get_speed());
+ sprintf(SENSOR_DATA.GPS_Course, "%f", gps_get_course());
} //bGPS_present
} //Read_GPS()
