X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-tools%2Fao-eeprom%2Fao-eeprom.c;h=780badbed3d0d4a9ee56176690aba18777751303;hp=90055d783160a4aa1517bc7c3881decfc97dd6f7;hb=083464b52c835c09a66c06a87246fcd138748a5d;hpb=61b837129a1b1bbf17413957006fa31a305f6247 diff --git a/ao-tools/ao-eeprom/ao-eeprom.c b/ao-tools/ao-eeprom/ao-eeprom.c index 90055d78..780badbe 100644 --- a/ao-tools/ao-eeprom/ao-eeprom.c +++ b/ao-tools/ao-eeprom/ao-eeprom.c @@ -353,7 +353,6 @@ main (int argc, char **argv) break; case AO_LOG_FORMAT_TELEMEGA_4: len = 32; - break; max_adc= 4095; adc_ref = 3.3; batt_r1 = 5600; @@ -361,6 +360,15 @@ main (int argc, char **argv) sense_r1 = 100e3; sense_r2 = 27e3; break; + case AO_LOG_FORMAT_EASYMOTOR: + len = 16; + max_adc = 32767; + adc_ref = 3.3; + batt_r1 = 5600; + batt_r2 = 10000; + sense_r1 = 5600; + sense_r2 = 10000; + break; } if (arg_len) len = arg_len; @@ -385,6 +393,7 @@ main (int argc, char **argv) struct ao_log_metrum *log_metrum; struct ao_log_gps *log_gps; struct ao_log_firetwo *log_firetwo; + struct ao_log_motor *log_motor; if (!csum && !ao_csum_valid(&eeprom->data[pos], len)) { if (verbose) @@ -674,6 +683,45 @@ main (int argc, char **argv) break; } break; + case AO_LOG_FORMAT_EASYMOTOR: + log_motor = (struct ao_log_motor *) &eeprom->data[pos]; + switch (log_motor->type) { + case AO_LOG_FLIGHT: + printf(" serial %5u flight %5u ground_accel %6d", + eeprom->serial_number, + log_motor->u.flight.flight, + log_motor->u.flight.ground_accel); + printf(" along %6d aross %6d through %6d", + log_motor->u.flight.ground_accel_along, + log_motor->u.flight.ground_accel_across, + log_motor->u.flight.ground_accel_through); + ao_volts("ground pressure", + log_motor->u.flight.ground_motor_pressure, + max_adc, adc_ref, + sense_r1, sense_r2); + break; + case AO_LOG_STATE: + ao_state(log_motor->u.state.state, + log_motor->u.state.reason); + break; + case AO_LOG_SENSOR: + ao_volts("pressure", + log_motor->u.sensor.pressure, + max_adc, adc_ref, + sense_r1, sense_r2); + ao_volts("v_batt", + log_motor->u.sensor.v_batt, + max_adc, + adc_ref, batt_r1, batt_r2); + printf(" accel %6d", + log_motor->u.sensor.accel); + printf(" along %6d aross %6d through %6d", + log_motor->u.sensor.accel_along, + log_motor->u.sensor.accel_across, + log_motor->u.sensor.accel_through); + break; + } + break; case AO_LOG_FORMAT_DETHERM: break; }