[data] Don't keep repeating old GPS data if there's no lock. Zeros are more informative

Also [gps-osp] should give the date/time even if there's no position lock.
main-solar-only
Richard Meadows 2016-01-16 16:55:29 +00:00
rodzic cc34bdceb9
commit cfbccf096c
2 zmienionych plików z 19 dodań i 13 usunięć

Wyświetl plik

@ -73,20 +73,18 @@ struct tracker_datapoint* collect_data(void)
struct gps_data_t data = gps_get_data();
if (data.is_locked) { /* valid? */
datapoint.latitude = data.latitude; /* hndeg */
datapoint.longitude = data.longitude; /* hdeg */
datapoint.altitude = data.altitude; /* mm */
datapoint.satillite_count = data.satillite_count;
datapoint.time_to_first_fix = data.time_to_first_fix; /* seconds / counts */
datapoint.latitude = data.latitude; /* hndeg */
datapoint.longitude = data.longitude; /* hdeg */
datapoint.altitude = data.altitude; /* mm */
datapoint.satillite_count = data.satillite_count;
datapoint.time_to_first_fix = data.time_to_first_fix; /* seconds / counts */
datapoint.time.year = data.year;
datapoint.time.month = data.month;
datapoint.time.day = data.day;
datapoint.time.hour = data.hour;
datapoint.time.minute = data.minute;
datapoint.time.second = data.second; /* seconds */
}
datapoint.time.year = data.year;
datapoint.time.month = data.month;
datapoint.time.day = data.day;
datapoint.time.hour = data.hour;
datapoint.time.minute = data.minute;
datapoint.time.second = data.second; /* seconds */
#endif /* GPS_TYPE_OSP */

Wyświetl plik

@ -620,7 +620,15 @@ struct gps_data_t gps_get_data(void)
/* invalid */
memset(&data, 0, sizeof(struct gps_data_t));
gps_is_locked_priv = 0; /* not locked */
/* We can still return some data */
data.time_to_first_fix = i;
data.year = osp_out_geodetic_navigation_data.payload.utc_year;
data.month = osp_out_geodetic_navigation_data.payload.utc_month;
data.day = osp_out_geodetic_navigation_data.payload.utc_day;
data.hour = osp_out_geodetic_navigation_data.payload.utc_hour;
data.minute = osp_out_geodetic_navigation_data.payload.utc_minute;
data.second = (osp_out_geodetic_navigation_data.payload.utc_second+500)/1000; /* ms -> s */
return data;
}