X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosConvert.java;h=0b41328739d1797ab4c6491cbfe4fe198f667867;hb=master;hp=e51e4f3059f942893a1fc30d331fbdcf16ab5dba;hpb=41538b1b600eef242d1ede9fe9039d1079f6891a;p=fw%2Faltos diff --git a/altoslib/AltosConvert.java b/altoslib/AltosConvert.java index e51e4f30..84f7e23d 100644 --- a/altoslib/AltosConvert.java +++ b/altoslib/AltosConvert.java @@ -270,6 +270,12 @@ public class AltosConvert { return sensor / 4095.0 * supply * (5.6 + 10.0) / 10.0; } + static double tele_gps_3_voltage(int sensor) { + double supply = 3.3; + + 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; @@ -280,11 +286,11 @@ public class AltosConvert { return 3.3 * mega_adc(sensor) * (100.0 + 27.0) / 27.0; } - static double easy_mini_2_adc(int raw) { + static double easy_mini_2_adc(double raw) { return raw / 4095.0; } - static double easy_mini_1_adc(int raw) { + static double easy_mini_1_adc(double raw) { return raw / 32767.0; } @@ -311,6 +317,10 @@ public class AltosConvert { return easy_mini_2_adc(sensor) * supply * 127/27; } + static double easy_mini_3_voltage(int sensor) { + return easy_mini_1_voltage(sensor, 10000); + } + static double motor_pressure(double voltage) { double base = 0.5; double max = 4.5; @@ -323,11 +333,30 @@ public class AltosConvert { return (voltage - base) / (max - base) * full_scale_pressure; } - static double easy_motor_2_motor_pressure(int sensor) { + static double easy_motor_3_adc(double raw) { + return raw / 32767.0; + } + + static double easy_motor_3_voltage(int sensor) { double supply = 3.3; + + return easy_motor_3_adc(sensor) * supply * 15.6 / 10.0; + } + + static double easy_motor_2_motor_pressure(int sensor, double ground_sensor) { + double supply = 3.3; + double ground_voltage = easy_mini_2_adc(ground_sensor) * supply * 15.6 / 10.0; double voltage = easy_mini_2_adc(sensor) * supply * 15.6 / 10.0; - return motor_pressure(voltage); + return motor_pressure(voltage) - motor_pressure(ground_voltage); + } + + static double easy_motor_3_motor_pressure(int sensor, double ground_sensor) { + double supply = 3.3; + double ground_voltage = easy_motor_3_adc(ground_sensor) * supply * 15.6 / 10.0; + double voltage = easy_motor_3_adc(sensor) * supply * 15.6 / 10.0; + + return motor_pressure(voltage) - motor_pressure(ground_voltage); } public static double radio_to_frequency(int freq, int setting, int cal, int channel) { @@ -530,7 +559,7 @@ public class AltosConvert { public static int beep_freq_to_value(double freq) { if (freq == 0) - return 94; + return 0; return (int) Math.floor (1.0/2.0 * (24.0e6/32.0) / freq + 0.5); }