X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosEepromHeader.java;h=e7ed93b09162f766a9842511e56ce4a2702a7013;hp=0aeb78dd36e4bf8c9772e47bb8c116fba20feaf7;hb=73ce3f73526edfabccd3b98e6e67de6d82a84b63;hpb=488a527267decece48e6682e0e0c7fc29cbed329 diff --git a/altoslib/AltosEepromHeader.java b/altoslib/AltosEepromHeader.java index 0aeb78dd..e7ed93b0 100644 --- a/altoslib/AltosEepromHeader.java +++ b/altoslib/AltosEepromHeader.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_2; +package org.altusmetrum.altoslib_9; import java.io.*; import java.util.*; @@ -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; @@ -53,9 +53,10 @@ public class AltosEepromHeader extends AltosEeprom { case AltosLib.AO_LOG_MANUFACTURER: break; case AltosLib.AO_LOG_PRODUCT: + state.product = data; break; case AltosLib.AO_LOG_LOG_FORMAT: - state.log_format = config_a; + state.set_log_format(config_a); break; case AltosLib.AO_LOG_SERIAL_NUMBER: state.set_serial(config_a); @@ -92,9 +93,31 @@ 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; + 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: + state.set_pad_orientation(config_a); + break; + case AltosLib.AO_LOG_RADIO_ENABLE: + case AltosLib.AO_LOG_AES_KEY: + case AltosLib.AO_LOG_APRS: + case AltosLib.AO_LOG_BEEP_SETTING: + case AltosLib.AO_LOG_TRACKER_SETTING: + case AltosLib.AO_LOG_PYRO_TIME: + case AltosLib.AO_LOG_APRS_ID: + break; + case AltosLib.AO_LOG_ALTITUDE_32: + state.set_altitude_32(config_a); + break; } } @@ -160,9 +183,31 @@ 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: + case AltosLib.AO_LOG_BEEP_SETTING: + case AltosLib.AO_LOG_TRACKER_SETTING: + case AltosLib.AO_LOG_PYRO_TIME: + case AltosLib.AO_LOG_APRS_ID: + break; + case AltosLib.AO_LOG_ALTITUDE_32: + out.printf("# Altitude-32: %d\n", config_a); + break; } } - + public AltosEepromHeader (String[] tokens) { last = false; valid = true; @@ -204,6 +249,9 @@ public class AltosEepromHeader extends AltosEeprom { } else if (tokens[0].equals("log-format")) { cmd = AltosLib.AO_LOG_LOG_FORMAT; config_a = Integer.parseInt(tokens[1]); + } else if (tokens[0].equals("altitude-32")) { + cmd = AltosLib.AO_LOG_ALTITUDE_32; + config_a = Integer.parseInt(tokens[1]); } else if (tokens[0].equals("software-version")) { cmd = AltosLib.AO_LOG_SOFTWARE_VERSION; data = tokens[1]; @@ -237,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) { @@ -269,7 +325,7 @@ public class AltosEepromHeader extends AltosEeprom { for (AltosEepromHeader header : headers) { header.write(out); } - + } public AltosEepromHeader (String line) {