diff options
author | Keith Packard <keithp@keithp.com> | 2011-08-08 01:47:29 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-08-08 12:13:29 -0700 |
commit | 0e3e4f9c1e6a6bf972514f12c9d622258aa2aec2 (patch) | |
tree | c84c97e27556d0686bf26ea9e4f1af976cd9b1c7 /altosui/AltosConvert.java | |
parent | f03ca0ab8799bfa5100eaa2577cfd7b9c37d05bf (diff) |
altosui: Convert from channels to frequencies
Major areas:
* Preferences are stored as frequencies instead
of channels
* Serial configuration is done using frequencies
* UI is presented with frequency lists
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosConvert.java')
-rw-r--r-- | altosui/AltosConvert.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/altosui/AltosConvert.java b/altosui/AltosConvert.java index 8cc1df27..6a9b699c 100644 --- a/altosui/AltosConvert.java +++ b/altosui/AltosConvert.java @@ -189,4 +189,37 @@ public class AltosConvert { { return ignite / 32767 * 15.0; } + + static double + radio_setting_to_frequency(int setting, int cal) { + double f; + + f = 434.550 * setting / cal; + /* Round to nearest 50KHz */ + f = Math.floor (20.0 * f + 0.5) / 20.0; + return f; + } + + static int + radio_frequency_to_setting(double frequency, int cal) { + double set = frequency / 434.550 * cal; + + return (int) Math.floor (set + 0.5); + } + + static double + radio_channel_to_frequency(int channel) { + return 434.550 + channel * 0.100; + } + + 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; + } } |