X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosConvert.java;h=18878c026dd01115501e87f8880a9bcb613feea6;hb=HEAD;hp=63cdfa6092db2e30b2f70bb00491cde2c4ff47b5;hpb=ec46adee44ea08120b1940ca55a5fbdf56874bb1;p=fw%2Faltos diff --git a/altoslib/AltosConvert.java b/altoslib/AltosConvert.java index 63cdfa60..84f7e23d 100644 --- a/altoslib/AltosConvert.java +++ b/altoslib/AltosConvert.java @@ -270,17 +270,27 @@ 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; return 3.3 * mega_adc(raw) * (5.1 + 10.0) / 10.0; } - static double easy_mini_2_adc(int raw) { + static double easy_timer_voltage(int sensor) { + return 3.3 * mega_adc(sensor) * (100.0 + 27.0) / 27.0; + } + + 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; } @@ -307,6 +317,48 @@ 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; + double full_scale_pressure = psi_to_pa(1600); + + if (voltage < base) + voltage = base; + if (voltage > max) + voltage = max; + return (voltage - base) / (max - base) * full_scale_pressure; + } + + 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) - 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) { double f; @@ -507,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); }