X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosConvert.java;h=df41a522ad956a967d2d103d65cb95ba8ad26a8f;hb=c09d155328bd446bb84ac1068d380cceb884df22;hp=207470a5eb5ef6016341dc0fd0d8986db65c51ab;hpb=5a3e96bef31959a287b8696778d7d8cf911a7dc4;p=fw%2Faltos diff --git a/altosui/AltosConvert.java b/altosui/AltosConvert.java index 207470a5..df41a522 100644 --- a/altosui/AltosConvert.java +++ b/altosui/AltosConvert.java @@ -190,14 +190,18 @@ public class AltosConvert { return ignite / 32767 * 15.0; } - static double radio_to_frequency(int setting, int cal, int channel) { + static double radio_to_frequency(int freq, int setting, int cal, int channel) { double f; - if (setting <= 0) - setting = cal; - f = 434.550 * setting / cal; - /* Round to nearest 50KHz */ - f = Math.floor (20.0 * f + 0.5) / 20.0; + if (freq > 0) + f = freq / 1000.0; + else { + if (setting <= 0) + setting = cal; + f = 434.550 * setting / cal; + /* Round to nearest 50KHz */ + f = Math.floor (20.0 * f + 0.5) / 20.0; + } return f + channel * 0.100; } @@ -234,6 +238,18 @@ public class AltosConvert { return array; } + static double meters_to_feet(double meters) { + return meters * (100 / (2.54 * 12)); + } + + static double meters_to_mach(double meters) { + return meters / 343; /* something close to mach at usual rocket sites */ + } + + static double meters_to_g(double meters) { + return meters / 9.80665; + } + static int checksum(int[] data, int start, int length) { int csum = 0x5a; for (int i = 0; i < length; i++)