X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosEepromHeader.java;h=0414c37e39fc30cc4ea5dc5f54a4b0900058aa1f;hp=7103065526aa693283f38587ee474cae75791c61;hb=00ae706dab6e8fddef4c5730a17c433a022228b7;hpb=a757fd5af53f5721a949181372548afa4757d6c9 diff --git a/altoslib/AltosEepromHeader.java b/altoslib/AltosEepromHeader.java index 71030655..0414c37e 100644 --- a/altoslib/AltosEepromHeader.java +++ b/altoslib/AltosEepromHeader.java @@ -25,7 +25,7 @@ public class AltosEepromHeader extends AltosEeprom { public int cmd; public String data; - public int config_a, config_b; + public int config_a, config_b, config_c; public boolean last; public boolean valid; @@ -93,6 +93,9 @@ public class AltosEepromHeader extends AltosEeprom { state.make_baro(); state.baro.crc = config_a; break; + case AltosLib.AO_LOG_IMU_CAL: + state.set_accel_zero(config_a, config_b, config_c); + break; case AltosLib.AO_LOG_SOFTWARE_VERSION: state.set_firmware_version(data); break; @@ -100,7 +103,10 @@ public class AltosEepromHeader extends AltosEeprom { case AltosLib.AO_LOG_APOGEE_LOCKOUT: case AltosLib.AO_LOG_RADIO_RATE: case AltosLib.AO_LOG_IGNITE_MODE: + break; case AltosLib.AO_LOG_PAD_ORIENTATION: + state.set_pad_orientation(config_a); + break; case AltosLib.AO_LOG_RADIO_ENABLE: case AltosLib.AO_LOG_AES_KEY: case AltosLib.AO_LOG_APRS: @@ -177,11 +183,17 @@ public class AltosEepromHeader extends AltosEeprom { case AltosLib.AO_LOG_BARO_CRC: out.printf ("# Baro crc: %d\n", config_a); break; + case AltosLib.AO_LOG_IMU_CAL: + out.printf ("# IMU cal: %d %d %d\n", config_a, config_b, config_c); + break; case AltosLib.AO_LOG_FREQUENCY: case AltosLib.AO_LOG_APOGEE_LOCKOUT: case AltosLib.AO_LOG_RADIO_RATE: case AltosLib.AO_LOG_IGNITE_MODE: + break; case AltosLib.AO_LOG_PAD_ORIENTATION: + out.printf("# Pad orientation: %d\n", config_a); + break; case AltosLib.AO_LOG_RADIO_ENABLE: case AltosLib.AO_LOG_AES_KEY: case AltosLib.AO_LOG_APRS: @@ -273,6 +285,14 @@ public class AltosEepromHeader extends AltosEeprom { cmd = AltosLib.AO_LOG_INVALID; data = tokens[2]; } + } else if (tokens[0].equals("IMU") && tokens[1].equals("cal")) { + cmd = AltosLib.AO_LOG_IMU_CAL; + config_a = Integer.parseInt(tokens[3]); + config_b = Integer.parseInt(tokens[5]); + config_c = Integer.parseInt(tokens[7]); + } else if (tokens[0].equals("Pad") && tokens[1].equals("orientation:")) { + cmd = AltosLib.AO_LOG_PAD_ORIENTATION; + config_a = Integer.parseInt(tokens[2]); } else valid = false; } catch (Exception e) {