GPS date/time information was already being stored in the log, it just
wasn't getting displayed by ao-postflight.
Signed-off-by: Keith Packard <keithp@keithp.com>
"Serial: %9d\n"
"Flight: %9d\n",
f->serial, f->flight);
"Serial: %9d\n"
"Flight: %9d\n",
f->serial, f->flight);
+ if (f->year) {
+ fprintf(summary_file,
+ "Date: %04d-%02d-%02d\n",
+ f->year, f->month, f->day);
+ }
+ if (f->gps.num) {
+ fprintf(summary_file,
+ "Time: %2d:%02d:%02d\n",
+ f->gps.data[0].hour,
+ f->gps.data[0].minute,
+ f->gps.data[0].second);
+ }
boost_start = f->accel.data[0].time;
boost_stop = f->accel.data[f->accel.num-1].time;
for (i = 0; i < f->state.num; i++) {
boost_start = f->accel.data[0].time;
boost_stop = f->accel.data[f->accel.num-1].time;
for (i = 0; i < f->state.num; i++) {
#define AO_LOG_GPS_LON 'W'
#define AO_LOG_GPS_ALT 'H'
#define AO_LOG_GPS_SAT 'V'
#define AO_LOG_GPS_LON 'W'
#define AO_LOG_GPS_ALT 'H'
#define AO_LOG_GPS_SAT 'V'
+#define AO_LOG_GPS_DATE 'Y'
#define AO_LOG_POS_NONE (~0UL)
#define AO_LOG_POS_NONE (~0UL)
* any stale data before adding this record
*/
gps.time = tick;
* any stale data before adding this record
*/
gps.time = tick;
+ gps.hour = (a & 0xff);
+ gps.minute = (a >> 8) & 0xff;
+ gps.second = (b & 0xff);
+ gps.flags = (b >> 8) & 0xff;
gps_valid = GPS_TIME;
break;
case AO_LOG_GPS_LAT:
gps_valid = GPS_TIME;
break;
case AO_LOG_GPS_LAT:
sat.c_n = (b >> 8) & 0xff;
gpssat_add(&f->gps, &sat);
break;
sat.c_n = (b >> 8) & 0xff;
gpssat_add(&f->gps, &sat);
break;
+ case AO_LOG_GPS_DATE:
+ f->year = 2000 + (a & 0xff);
+ f->month = (a >> 8) & 0xff;
+ f->day = (b & 0xff);
+ break;
timedata_add(&f->main, telem.tick, telem.main);
timedata_add(&f->state, telem.tick, state_name_to_state(telem.state));
if (telem.gps.gps_locked) {
timedata_add(&f->main, telem.tick, telem.main);
timedata_add(&f->state, telem.tick, state_name_to_state(telem.state));
if (telem.gps.gps_locked) {
+ f->year = telem.gps.gps_time.year;
+ f->month = telem.gps.gps_time.month;
+ f->day = telem.gps.gps_time.day;
gps.time = telem.tick;
gps.lat = telem.gps.lat;
gps.lon = telem.gps.lon;
gps.alt = telem.gps.alt;
gps.time = telem.tick;
gps.lat = telem.gps.lat;
gps.lon = telem.gps.lon;
gps.alt = telem.gps.alt;
+ gps.hour = telem.gps.gps_time.hour;
+ gps.minute = telem.gps.gps_time.minute;
+ gps.second = telem.gps.gps_time.second;
gpsdata_add(&f->gps, &gps);
}
return 1;
gpsdata_add(&f->gps, &gps);
}
return 1;
struct cc_gpselt {
double time;
struct cc_gpselt {
double time;
+ int hour;
+ int minute;
+ int second;
+ int flags;
double lat;
double lon;
double alt;
double lat;
double lon;
double alt;
int serial;
double ground_accel;
double ground_pres;
int serial;
double ground_accel;
double ground_pres;
struct cc_timedata accel;
struct cc_timedata pres;
struct cc_timedata temp;
struct cc_timedata accel;
struct cc_timedata pres;
struct cc_timedata temp;