TeleBT v3.0 uses an STM32 instead of a cc1111, so it needs a different
voltage computation from the raw ADC value.
Signed-off-by: Keith Packard <keithp@keithp.com>
return sensor / 32767.0 * supply * (5.6 + 10.0) / 10.0;
}
+ static double tele_bt_3_battery(int raw) {
+ if (raw == AltosLib.MISSING)
+ return AltosLib.MISSING;
+ return 3.3 * mega_adc(raw) * (5.1 + 10.0) / 10.0;
+ }
+
static double easy_mini_voltage(int sensor, int serial) {
double supply = 3.3;
double diode_offset = 0.0;
}
if (monitor_batt == AltosLib.MISSING)
return AltosLib.MISSING;
- return AltosConvert.cc_battery_to_voltage(monitor_batt);
+
+ double volts = AltosLib.MISSING;
+ if (config_data.product.startsWith("TeleBT-v3")) {
+ volts = AltosConvert.tele_bt_3_battery(monitor_batt);
+ } else {
+ volts = AltosConvert.cc_battery_to_voltage(monitor_batt);
+ }
+
+ return volts;
}
public AltosLink() {