]> git.gag.com Git - fw/altos/blobdiff - altoslib/AltosEepromHeader.java
altoslib: Correct tick wrapping in eeprom file reading
[fw/altos] / altoslib / AltosEepromHeader.java
index b2343dc60b1fc7ed3df939a2eddd5d73d77144cc..35a03a121e27773bcfc7940a297b78666005c62c 100644 (file)
@@ -29,6 +29,9 @@ public class AltosEepromHeader extends AltosEeprom {
        public boolean  last;
        public boolean  valid;
 
+       public int record_length () { return 0; }
+
+       /* XXX pull rest of config data to state */
        public void update_state(AltosState state) {
                switch (cmd) {
                case AltosLib.AO_LOG_CONFIG_VERSION:
@@ -40,11 +43,10 @@ public class AltosEepromHeader extends AltosEeprom {
                case AltosLib.AO_LOG_RADIO_CHANNEL:
                        break;
                case AltosLib.AO_LOG_CALLSIGN:
-                       state.callsign = data;
+                       state.set_callsign(data);
                        break;
                case AltosLib.AO_LOG_ACCEL_CAL:
-                       state.accel_plus_g = config_a;
-                       state.accel_minus_g = config_b;
+                       state.set_accel_g(config_a, config_b);
                        break;
                case AltosLib.AO_LOG_RADIO_CAL:
                        break;
@@ -56,33 +58,42 @@ public class AltosEepromHeader extends AltosEeprom {
                        state.log_format = config_a;
                        break;
                case AltosLib.AO_LOG_SERIAL_NUMBER:
-                       state.serial = config_a;
+                       state.set_serial(config_a);
                        break;
                case AltosLib.AO_LOG_BARO_RESERVED:
+                       state.make_baro();
                        state.baro.reserved = config_a;
                        break;
                case AltosLib.AO_LOG_BARO_SENS:
+                       state.make_baro();
                        state.baro.sens = config_a;
                        break;
                case AltosLib.AO_LOG_BARO_OFF:
+                       state.make_baro();
                        state.baro.off = config_a;
                        break;
                case AltosLib.AO_LOG_BARO_TCS:
+                       state.make_baro();
                        state.baro.tcs = config_a;
                        break;
                case AltosLib.AO_LOG_BARO_TCO:
+                       state.make_baro();
                        state.baro.tco = config_a;
                        break;
                case AltosLib.AO_LOG_BARO_TREF:
+                       state.make_baro();
                        state.baro.tref = config_a;
                        break;
                case AltosLib.AO_LOG_BARO_TEMPSENS:
+                       state.make_baro();
                        state.baro.tempsens = config_a;
                        break;
                case AltosLib.AO_LOG_BARO_CRC:
+                       state.make_baro();
                        state.baro.crc = config_a;
                        break;
                case AltosLib.AO_LOG_SOFTWARE_VERSION:
+                       state.set_firmware_version(data);
                        break;
                }
        }