X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ao-tools%2Fao-eeprom%2Fao-eeprom.c;h=e249af9e884d912571c388300adb3b15810dee79;hb=6edf62c6a1f41fa5cd698067d2327b4847708cc8;hp=2f0762420432fece69f082c618a6a0a20b296bbf;hpb=0ca9a7c6fc914c4b555c99863828861ec54fa01d;p=fw%2Faltos diff --git a/ao-tools/ao-eeprom/ao-eeprom.c b/ao-tools/ao-eeprom/ao-eeprom.c index 2f076242..e249af9e 100644 --- a/ao-tools/ao-eeprom/ao-eeprom.c +++ b/ao-tools/ao-eeprom/ao-eeprom.c @@ -412,11 +412,14 @@ main (int argc, char **argv) log_mega = (struct ao_log_mega *) &eeprom->data[pos]; switch (log_mega->type) { case AO_LOG_FLIGHT: - printf(" serial %5u flight %5u ground_accel %6d ground_pres %9u", + printf(" serial %5u flight %5u ground_accel %6d ground_pres %9u kPa %7.1f %7.1f m", eeprom->serial_number, log_mega->u.flight.flight, log_mega->u.flight.ground_accel, - log_mega->u.flight.ground_pres); + log_mega->u.flight.ground_pres, + log_mega->u.flight.ground_pres / 1000.0, + ao_pressure_to_altitude(log_mega->u.flight.ground_pres)); + printf(" along %6d aross %6d through %6d", log_mega->u.flight.ground_accel_along, log_mega->u.flight.ground_accel_across, @@ -513,10 +516,12 @@ main (int argc, char **argv) log_mini = (struct ao_log_mini *) &eeprom->data[pos]; switch (log_mini->type) { case AO_LOG_FLIGHT: - printf(" serial %5u flight %5u ground_pres %9u", + printf(" serial %5u flight %5u ground_pres %9u kPa %7.1f %7.1f m", eeprom->serial_number, log_mini->u.flight.flight, - log_mini->u.flight.ground_pres); + log_mini->u.flight.ground_pres, + log_mini->u.flight.ground_pres / 1000.0, + ao_pressure_to_altitude(log_mini->u.flight.ground_pres)); break; case AO_LOG_STATE: ao_state(log_mini->u.state.state, @@ -542,11 +547,13 @@ main (int argc, char **argv) log_metrum = (struct ao_log_metrum *) &eeprom->data[pos]; switch (log_metrum->type) { case AO_LOG_FLIGHT: - printf(" serial %5u flight %5u ground_accel %6d ground_pres %9u ground_temp %9u", + printf(" serial %5u flight %5u ground_accel %6d ground_pres %9u kPa %7.1f %7.1f m ground_temp %9u", eeprom->serial_number, log_metrum->u.flight.flight, log_metrum->u.flight.ground_accel, log_metrum->u.flight.ground_pres, + log_metrum->u.flight.ground_pres / 1000.0, + ao_pressure_to_altitude(log_metrum->u.flight.ground_pres), log_metrum->u.flight.ground_temp); break; case AO_LOG_SENSOR: @@ -636,7 +643,43 @@ main (int argc, char **argv) break; case AO_LOG_FORMAT_TELEGPS: log_gps = (struct ao_log_gps *) &eeprom->data[pos]; - (void) log_gps; + switch (log_gps->type) { + case AO_LOG_GPS_TIME: + printf(" lat %10.7f ° lon %10.7f ° alt %8d m", + log_gps->u.gps.latitude / 10000000.0, + log_gps->u.gps.longitude/ 10000000.0, + (int32_t) (log_gps->u.gps.altitude_low | + (log_gps->u.gps.altitude_high << 16))); + printf(" time %02d:%02d:%02d %04d-%02d-%02d flags %02x", + log_gps->u.gps.hour, + log_gps->u.gps.minute, + log_gps->u.gps.second, + log_gps->u.gps.year + 2000, + log_gps->u.gps.month, + log_gps->u.gps.day, + log_gps->u.gps.flags); + printf(" course %3d ground_speed %5u climb_rate %6d pdop %3d hdop %3d vdop %3d mode %3d", + log_gps->u.gps.course, + log_gps->u.gps.ground_speed, + log_gps->u.gps.climb_rate, + log_gps->u.gps.pdop, + log_gps->u.gps.hdop, + log_gps->u.gps.vdop, + log_gps->u.gps.mode); + break; + case AO_LOG_GPS_SAT: + printf(" channels %2d", + log_gps->u.gps_sat.channels); + for (i = 0; i < 12; i++) { + printf(" svid %3d c_n %2d", + log_gps->u.gps_sat.sats[i].svid, + log_gps->u.gps_sat.sats[i].c_n); + } + break; + default: + printf (" unknown"); + break; + } break; case AO_LOG_FORMAT_DETHERM: break;