summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-06-11 22:49:46 -0700
committerKeith Packard <keithp@keithp.com>2017-06-11 22:54:22 -0700
commit5c4e473ef5d13da9c2f356702cb8767b55aa2137 (patch)
treef16c240a3ba02d150221b9e956e17ba391d477cc /altoslib
parent27131ec7abda875595c61be0b151b73eb28afab9 (diff)
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 <keithp@keithp.com>
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosIdleFetch.java37
-rw-r--r--altoslib/AltosMs5607.java13
-rw-r--r--altoslib/AltosSensorEMini.java17
-rw-r--r--altoslib/AltosSensorMega.java10
-rw-r--r--altoslib/AltosSensorMetrum.java8
-rw-r--r--altoslib/AltosSensorTGPS.java4
-rw-r--r--altoslib/AltosSensorTMini2.java8
-rw-r--r--altoslib/AltosSensorTMini3.java8
8 files changed, 72 insertions, 33 deletions
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) {
}