From: Keith Packard Date: Mon, 12 Jun 2017 05:49:46 +0000 (-0700) Subject: altoslib: Hook up idle monitoring data again X-Git-Tag: 1.8~40 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=5c4e473ef5d13da9c2f356702cb8767b55aa2137 altoslib: Hook up idle monitoring data again The API for idle monitoring changed, but these modules hadn't been fixed. Signed-off-by: Keith Packard --- diff --git a/altoslib/AltosIdleFetch.java b/altoslib/AltosIdleFetch.java index 43eb980a..cfd6866a 100644 --- a/altoslib/AltosIdleFetch.java +++ b/altoslib/AltosIdleFetch.java @@ -31,15 +31,17 @@ class AltosIdler { static final int idle_imu = 1; static final int idle_mag = 2; static final int idle_mma655x = 4; + static final int idle_ms5607 = 5; static final int idle_sensor_tm = 10; static final int idle_sensor_metrum = 11; static final int idle_sensor_mega = 12; - static final int idle_sensor_emini = 13; - static final int idle_sensor_tmini2 = 14; - static final int idle_sensor_tgps = 15; - static final int idle_sensor_tmini3 = 16; + static final int idle_sensor_emini1 = 13; + static final int idle_sensor_emini2 = 14; + static final int idle_sensor_tmini2 = 15; + static final int idle_sensor_tgps = 16; + static final int idle_sensor_tmini3 = 17; public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException, TimeoutException, AltosUnknownProduct { for (int idler : idlers) { @@ -56,7 +58,10 @@ class AltosIdler { case idle_mma655x: AltosMma655x.provide_data(listener, link, cal_data); break; -/* case idle_sensor_tm: + case idle_ms5607: + AltosMs5607.provide_data(listener, link, cal_data); + break; + case idle_sensor_tm: AltosSensorTM.provide_data(listener, link, cal_data); break; case idle_sensor_metrum: @@ -65,8 +70,11 @@ class AltosIdler { case idle_sensor_mega: AltosSensorMega.provide_data(listener, link, cal_data); break; - case idle_sensor_emini: - AltosSensorEMini.provide_data(listener, link, cal_data); + case idle_sensor_emini1: + AltosSensorEMini.provide_data(listener, link, cal_data, 1); + break; + case idle_sensor_emini2: + AltosSensorEMini.provide_data(listener, link, cal_data, 2); break; case idle_sensor_tmini2: AltosSensorTMini2.provide_data(listener, link, cal_data); @@ -77,7 +85,6 @@ class AltosIdler { case idle_sensor_tmini3: AltosSensorTMini3.provide_data(listener, link, cal_data); break; -*/ } } } @@ -97,16 +104,23 @@ public class AltosIdleFetch implements AltosDataProvider { static final AltosIdler[] idlers = { - new AltosIdler("EasyMini", - AltosIdler.idle_sensor_emini), + new AltosIdler("EasyMini-v1", + AltosIdler.idle_ms5607, + AltosIdler.idle_sensor_emini1), + + new AltosIdler("EasyMini-v2", + AltosIdler.idle_ms5607, + AltosIdler.idle_sensor_emini2), new AltosIdler("TeleMini-v1", AltosIdler.idle_sensor_tm), new AltosIdler("TeleMini-v2", + AltosIdler.idle_ms5607, AltosIdler.idle_sensor_tmini2), new AltosIdler("TeleMini-v3", + AltosIdler.idle_ms5607, AltosIdler.idle_sensor_tmini3), new AltosIdler("TeleMetrum-v1", @@ -116,15 +130,18 @@ public class AltosIdleFetch implements AltosDataProvider { new AltosIdler("TeleMetrum-v2", AltosIdler.idle_gps, AltosIdler.idle_mma655x, + AltosIdler.idle_ms5607, AltosIdler.idle_sensor_metrum), new AltosIdler("TeleMega", AltosIdler.idle_gps, AltosIdler.idle_mma655x, + AltosIdler.idle_ms5607, AltosIdler.idle_imu, AltosIdler.idle_mag, AltosIdler.idle_sensor_mega), new AltosIdler("EasyMega", AltosIdler.idle_mma655x, + AltosIdler.idle_ms5607, AltosIdler.idle_imu, AltosIdler.idle_mag, AltosIdler.idle_sensor_mega), new AltosIdler("TeleGPS", diff --git a/altoslib/AltosMs5607.java b/altoslib/AltosMs5607.java index bb6ce4c2..399de834 100644 --- a/altoslib/AltosMs5607.java +++ b/altoslib/AltosMs5607.java @@ -133,6 +133,19 @@ public class AltosMs5607 { crc = old.crc; } + static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException { + try { + AltosMs5607 ms5607 = cal_data.ms5607; + + if (ms5607 != null) { + AltosPresTemp pt = ms5607.pres_temp(link); + listener.set_temperature(pt.temp); + listener.set_pressure(pt.pres); + } + } catch (TimeoutException te) { + } + } + public AltosMs5607(AltosConfigData config_data) { this(config_data.ms5607()); } diff --git a/altoslib/AltosSensorEMini.java b/altoslib/AltosSensorEMini.java index 2581685f..2d7bab83 100644 --- a/altoslib/AltosSensorEMini.java +++ b/altoslib/AltosSensorEMini.java @@ -26,15 +26,24 @@ public class AltosSensorEMini { public int main; public int batt; - static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { + static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data, int version) throws InterruptedException { try { AltosSensorEMini sensor_emini = new AltosSensorEMini(link); if (sensor_emini == null) return; - state.set_battery_voltage(AltosConvert.easy_mini_voltage(sensor_emini.batt, config_data.serial)); - state.set_apogee_voltage(AltosConvert.easy_mini_voltage(sensor_emini.apogee, config_data.serial)); - state.set_main_voltage(AltosConvert.easy_mini_voltage(sensor_emini.main, config_data.serial)); + switch (version) { + case 1: + listener.set_battery_voltage(AltosConvert.easy_mini_1_voltage(sensor_emini.batt, cal_data.serial)); + listener.set_apogee_voltage(AltosConvert.easy_mini_1_voltage(sensor_emini.apogee, cal_data.serial)); + listener.set_main_voltage(AltosConvert.easy_mini_1_voltage(sensor_emini.main, cal_data.serial)); + break; + case 2: + listener.set_battery_voltage(AltosConvert.easy_mini_2_voltage(sensor_emini.batt)); + listener.set_apogee_voltage(AltosConvert.easy_mini_2_voltage(sensor_emini.apogee)); + listener.set_main_voltage(AltosConvert.easy_mini_2_voltage(sensor_emini.main)); + break; + } } catch (TimeoutException te) { } diff --git a/altoslib/AltosSensorMega.java b/altoslib/AltosSensorMega.java index 82696038..1ef40a2a 100644 --- a/altoslib/AltosSensorMega.java +++ b/altoslib/AltosSensorMega.java @@ -89,18 +89,18 @@ class AltosSensorMega { } } - static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { + static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException { try { AltosSensorMega sensor_mega = new AltosSensorMega(link); - state.set_battery_voltage(AltosConvert.mega_battery_voltage(sensor_mega.v_batt)); - state.set_apogee_voltage(AltosConvert.mega_pyro_voltage(sensor_mega.sense[4])); - state.set_main_voltage(AltosConvert.mega_pyro_voltage(sensor_mega.sense[5])); + listener.set_battery_voltage(AltosConvert.mega_battery_voltage(sensor_mega.v_batt)); + listener.set_apogee_voltage(AltosConvert.mega_pyro_voltage(sensor_mega.sense[4])); + listener.set_main_voltage(AltosConvert.mega_pyro_voltage(sensor_mega.sense[5])); double[] igniter_voltage = new double[4]; for (int i = 0; i < 4; i++) igniter_voltage[i] = AltosConvert.mega_pyro_voltage(sensor_mega.sense[i]); - state.set_igniter_voltage(igniter_voltage); + listener.set_igniter_voltage(igniter_voltage); } catch (TimeoutException te) { } diff --git a/altoslib/AltosSensorMetrum.java b/altoslib/AltosSensorMetrum.java index cb163911..1b025d1c 100644 --- a/altoslib/AltosSensorMetrum.java +++ b/altoslib/AltosSensorMetrum.java @@ -53,12 +53,12 @@ class AltosSensorMetrum { } } - static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { + static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException { try { AltosSensorMetrum sensor_metrum = new AltosSensorMetrum(link); - state.set_battery_voltage(AltosConvert.mega_battery_voltage(sensor_metrum.v_batt)); - state.set_apogee_voltage(AltosConvert.mega_pyro_voltage(sensor_metrum.sense_a)); - state.set_main_voltage(AltosConvert.mega_pyro_voltage(sensor_metrum.sense_m)); + listener.set_battery_voltage(AltosConvert.mega_battery_voltage(sensor_metrum.v_batt)); + listener.set_apogee_voltage(AltosConvert.mega_pyro_voltage(sensor_metrum.sense_a)); + listener.set_main_voltage(AltosConvert.mega_pyro_voltage(sensor_metrum.sense_m)); } catch (TimeoutException te) { } } diff --git a/altoslib/AltosSensorTGPS.java b/altoslib/AltosSensorTGPS.java index 9c2bcb10..7534cf46 100644 --- a/altoslib/AltosSensorTGPS.java +++ b/altoslib/AltosSensorTGPS.java @@ -24,13 +24,13 @@ public class AltosSensorTGPS { public int tick; public int batt; - static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { + static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException { try { AltosSensorTGPS sensor_tgps = new AltosSensorTGPS(link); if (sensor_tgps == null) return; - state.set_battery_voltage(AltosConvert.tele_gps_voltage(sensor_tgps.batt)); + listener.set_battery_voltage(AltosConvert.tele_gps_voltage(sensor_tgps.batt)); } catch (TimeoutException te) { } diff --git a/altoslib/AltosSensorTMini2.java b/altoslib/AltosSensorTMini2.java index 7e00abd0..c347a3a6 100644 --- a/altoslib/AltosSensorTMini2.java +++ b/altoslib/AltosSensorTMini2.java @@ -26,15 +26,15 @@ public class AltosSensorTMini2 { public int main; public int batt; - static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { + static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException { try { AltosSensorTMini2 sensor_tmini = new AltosSensorTMini2(link); if (sensor_tmini == null) return; - state.set_battery_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.batt)); - state.set_apogee_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.apogee)); - state.set_main_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.main)); + listener.set_battery_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.batt)); + listener.set_apogee_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.apogee)); + listener.set_main_voltage(AltosConvert.tele_mini_2_voltage(sensor_tmini.main)); } catch (TimeoutException te) { } diff --git a/altoslib/AltosSensorTMini3.java b/altoslib/AltosSensorTMini3.java index 19d514d7..e88566cc 100644 --- a/altoslib/AltosSensorTMini3.java +++ b/altoslib/AltosSensorTMini3.java @@ -26,15 +26,15 @@ public class AltosSensorTMini3 { public int main; public int batt; - static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { + static public void provide_data(AltosDataListener listener, AltosLink link, AltosCalData cal_data) throws InterruptedException { try { AltosSensorTMini3 sensor_tmini = new AltosSensorTMini3(link); if (sensor_tmini == null) return; - state.set_battery_voltage(AltosConvert.tele_mini_3_battery_voltage(sensor_tmini.batt)); - state.set_apogee_voltage(AltosConvert.tele_mini_3_pyro_voltage(sensor_tmini.apogee)); - state.set_main_voltage(AltosConvert.tele_mini_3_pyro_voltage(sensor_tmini.main)); + listener.set_battery_voltage(AltosConvert.tele_mini_3_battery_voltage(sensor_tmini.batt)); + listener.set_apogee_voltage(AltosConvert.tele_mini_3_pyro_voltage(sensor_tmini.apogee)); + listener.set_main_voltage(AltosConvert.tele_mini_3_pyro_voltage(sensor_tmini.main)); } catch (TimeoutException te) { }