summaryrefslogtreecommitdiff
path: root/altosui/AltosConvert.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-08-08 01:47:29 -0700
committerKeith Packard <keithp@keithp.com>2011-08-08 12:13:29 -0700
commit0e3e4f9c1e6a6bf972514f12c9d622258aa2aec2 (patch)
treec84c97e27556d0686bf26ea9e4f1af976cd9b1c7 /altosui/AltosConvert.java
parentf03ca0ab8799bfa5100eaa2577cfd7b9c37d05bf (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.java33
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;
+ }
}