altoslib, altosui: Restructured state management now does TM eeprom files
[fw/altos] / altoslib / AltosEepromMini.java
index ced8768045b14168bdff54fdc76242335c57c749..1e0ff1b9c8ff0124d93ef9e5d61144282acf88b1 100644 (file)
@@ -55,13 +55,30 @@ public class AltosEepromMini extends AltosEeprom {
        public int sense_m() { return data16(8); }
        public int v_batt() { return data16(10); }
 
+       double voltage(AltosState state, int sensor) {
+               double  supply;
+
+               if (state.log_format == AltosLib.AO_LOG_FORMAT_EASYMINI)
+                       supply = 3.0;
+               else
+                       supply = 3.3;
+               return sensor / 32767.0 * supply * 127/27;
+       }
+
        public void update_state(AltosState state) {
                switch (cmd) {
                case AltosLib.AO_LOG_FLIGHT:
+                       state.set_flight(flight());
+                       state.set_ground_pressure(ground_pres());
                        break;
                case AltosLib.AO_LOG_STATE:
+                       state.set_state(state());
                        break;
                case AltosLib.AO_LOG_SENSOR:
+                       state.set_ms5607(pres(), temp());
+                       state.set_apogee_voltage(voltage(state, sense_a()));
+                       state.set_main_voltage(voltage(state, sense_m()));
+                       state.set_battery_voltage(voltage(state, v_batt()));
                        break;
                }
        }