X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosConvert.java;h=099ea04859337bb14e0799df62d607eabc97f9d8;hb=4e237bd43fef1858f88ff8f8750759e16442ea7e;hp=ce1b8f7f14f7733a29722e6eedd62090733ed63f;hpb=f13e294d4644096b0529383c1d60d5e4b7916d76;p=fw%2Faltos diff --git a/altoslib/AltosConvert.java b/altoslib/AltosConvert.java index ce1b8f7f..099ea048 100644 --- a/altoslib/AltosConvert.java +++ b/altoslib/AltosConvert.java @@ -19,7 +19,7 @@ /* * Sensor data conversion functions */ -package org.altusmetrum.altoslib_13; +package org.altusmetrum.altoslib_14; import java.util.*; @@ -276,11 +276,15 @@ public class AltosConvert { 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 +311,26 @@ public class AltosConvert { return easy_mini_2_adc(sensor) * supply * 127/27; } + 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_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); + } + public static double radio_to_frequency(int freq, int setting, int cal, int channel) { double f; @@ -473,7 +497,7 @@ public class AltosConvert { public static AltosPyroName pyro_name = new AltosPyroName(); - public static AltosUnits magnetic_field = null; + public static AltosUnits magnetic_field = new AltosGauss(); public static String show_gs(String format, double a) { a = meters_to_g(a);