X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosConvert.java;h=c2ae9a507897079970036ebef8cca8505b306e66;hp=8cc1df277ecd1da2041d9c6b2d23223249635026;hb=81bb6f42d8b859195ea5a35806c42d98ba82e8e1;hpb=51c7741040d95c5deece939dae5e4136cc04afc4 diff --git a/altosui/AltosConvert.java b/altosui/AltosConvert.java index 8cc1df27..c2ae9a50 100644 --- a/altosui/AltosConvert.java +++ b/altosui/AltosConvert.java @@ -189,4 +189,35 @@ public class AltosConvert { { return ignite / 32767 * 15.0; } + + static double radio_to_frequency(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; + return f + channel * 0.100; + } + + static int radio_frequency_to_setting(double frequency, int cal) { + double set = frequency / 434.550 * cal; + + return (int) Math.floor (set + 0.5); + } + + static int radio_frequency_to_channel(double frequency) { + int channel = (int) Math.floor ((frequency - 434.550) / 0.100 + 0.5); + + if (channel < 0) + channel = 0; + if (channel > 9) + channel = 9; + return channel; + } + + static double radio_channel_to_frequency(int channel) { + return 434.550 + channel * 0.100; + } }