summaryrefslogtreecommitdiff
path: root/altoslib/AltosEepromMini.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-02-19 17:36:04 -0800
committerKeith Packard <keithp@keithp.com>2017-02-20 11:16:53 -0800
commit1029a6e4a61b20698e00e29fc0c8c3877f1e7b0f (patch)
tree68afb87e3cb0a2f75a5a1c8c61899e54a9281be3 /altoslib/AltosEepromMini.java
parent5c272d8e50d0b23f31a6a9ebdad81fc514936222 (diff)
altoslib: Add TeleMini v3 support
eeprom, telemetry and monitor idle. This is just like TeleMini v2, except the ADC ranges are all difference as the voltage dividers are different and the ADC itself has a different range. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosEepromMini.java')
-rw-r--r--altoslib/AltosEepromMini.java25
1 files changed, 19 insertions, 6 deletions
diff --git a/altoslib/AltosEepromMini.java b/altoslib/AltosEepromMini.java
index dc51e591..04155071 100644
--- a/altoslib/AltosEepromMini.java
+++ b/altoslib/AltosEepromMini.java
@@ -42,11 +42,24 @@ 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) {
+ private double battery_voltage(AltosState state, int sensor) {
if (state.log_format == AltosLib.AO_LOG_FORMAT_EASYMINI)
return AltosConvert.easy_mini_voltage(sensor, state.serial);
- else
- return AltosConvert.tele_mini_voltage(sensor);
+ if (state.log_format == AltosLib.AO_LOG_FORMAT_TELEMINI2)
+ return AltosConvert.tele_mini_2_voltage(sensor);
+ if (state.log_format == AltosLib.AO_LOG_FORMAT_TELEMINI3)
+ return AltosConvert.tele_mini_3_battery_voltage(sensor);
+ return -1;
+ }
+
+ private double pyro_voltage(AltosState state, int sensor) {
+ if (state.log_format == AltosLib.AO_LOG_FORMAT_EASYMINI)
+ return AltosConvert.easy_mini_voltage(sensor, state.serial);
+ if (state.log_format == AltosLib.AO_LOG_FORMAT_TELEMINI2)
+ return AltosConvert.tele_mini_2_voltage(sensor);
+ if (state.log_format == AltosLib.AO_LOG_FORMAT_TELEMINI3)
+ return AltosConvert.tele_mini_3_pyro_voltage(sensor);
+ return -1;
}
public void update_state(AltosState state) {
@@ -62,9 +75,9 @@ public class AltosEepromMini extends AltosEeprom {
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()));
+ state.set_apogee_voltage(pyro_voltage(state, sense_a()));
+ state.set_main_voltage(pyro_voltage(state, sense_m()));
+ state.set_battery_voltage(battery_voltage(state, v_batt()));
break;
}
}