diff options
author | Keith Packard <keithp@keithp.com> | 2017-02-19 17:36:04 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2017-02-20 11:16:53 -0800 |
commit | 1029a6e4a61b20698e00e29fc0c8c3877f1e7b0f (patch) | |
tree | 68afb87e3cb0a2f75a5a1c8c61899e54a9281be3 /altoslib/AltosEepromMini.java | |
parent | 5c272d8e50d0b23f31a6a9ebdad81fc514936222 (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.java | 25 |
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; } } |