altoslib: Use symbols in AltosRomconfig instead of fixed offsets
[fw/altos] / altoslib / AltosEepromHeader.java
index b2343dc60b1fc7ed3df939a2eddd5d73d77144cc..0aeb78dd36e4bf8c9772e47bb8c116fba20feaf7 100644 (file)
@@ -15,7 +15,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_1;
+package org.altusmetrum.altoslib_2;
 
 import java.io.*;
 import java.util.*;
@@ -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;
                }
        }