[chirp_devel] [PATCH] [UV-3R] Add Band Limit Settings

Jim Unroe
Tue Nov 26 13:50:50 PST 2013


# HG changeset patch
# User Jim Unroe <rock.unroe at gmail.com>
# Date 1385500703 18000
# Node ID fac62ed0236be2ae124c5a5a05e8370ff46c119c
# Parent  68dcf5898ba38f087d9a543256ef71828c24f650
[UV-3R] Add Band Limit Settings
expose band limit fields in memmap
expand band ranges to 136-235 MHz and 400-529 MHz
add band limit settings to Basic Settings tab
related to #1267

diff -r 68dcf5898ba3 -r fac62ed0236b chirp/baofeng_uv3r.py
--- a/chirp/baofeng_uv3r.py	Tue Nov 26 16:00:58 2013 -0500
+++ b/chirp/baofeng_uv3r.py	Tue Nov 26 16:18:23 2013 -0500
@@ -93,6 +93,14 @@
   lbcd tx_freq[4];
 } tx_memory[99];
 
+#seekto 0x0780;
+struct {
+  lbcd lower_vhf[2];
+  lbcd upper_vhf[2];
+  lbcd lower_uhf[2];
+  lbcd upper_uhf[2];
+} limits;
+
 #seekto 0x07C2;
 struct {
   u8 squelch;
@@ -169,7 +177,7 @@
         rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]
         rf.valid_modes = ["FM", "NFM"]
         rf.valid_power_levels = UV3R_POWER_LEVELS
-        rf.valid_bands = [(136000000, 174000000), (400000000, 470000000)]
+        rf.valid_bands = [(136000000, 235000000), (400000000, 529000000)]
         rf.valid_skips = []
         rf.valid_duplexes = ["", "-", "+", "split"]
         rf.valid_cross_modes = ["Tone->Tone", "Tone->DTCS", "DTCS->Tone",
@@ -388,6 +396,42 @@
                                         CH_FLAG_LIST[self._memobj.settings.ch_flag]))
         basic.append(rs)
 
+        _limit = int(self._memobj.limits.lower_vhf) / 10
+        rs = RadioSetting("limits.lower_vhf", "VHF Lower Limit (115-239 MHz)",
+                          RadioSettingValueInteger(115, 235, _limit))
+        def apply_limit(setting, obj):
+            value = int(setting.value) * 10
+            obj.lower_vhf = value
+        rs.set_apply_callback(apply_limit, self._memobj.limits)
+        basic.append(rs)
+
+        _limit = int(self._memobj.limits.upper_vhf) / 10
+        rs = RadioSetting("limits.upper_vhf", "VHF Upper Limit (115-239 MHz)",
+                          RadioSettingValueInteger(115, 235, _limit))
+        def apply_limit(setting, obj):
+            value = int(setting.value) * 10
+            obj.upper_vhf = value
+        rs.set_apply_callback(apply_limit, self._memobj.limits)
+        basic.append(rs)
+
+        _limit = int(self._memobj.limits.lower_uhf) / 10
+        rs = RadioSetting("limits.lower_uhf", "UHF Lower Limit (200-529 MHz)",
+                          RadioSettingValueInteger(200, 529, _limit))
+        def apply_limit(setting, obj):
+            value = int(setting.value) * 10
+            obj.lower_uhf = value
+        rs.set_apply_callback(apply_limit, self._memobj.limits)
+        basic.append(rs)
+
+        _limit = int(self._memobj.limits.upper_uhf) / 10
+        rs = RadioSetting("limits.upper_uhf", "UHF Upper Limit (200-529 MHz)",
+                          RadioSettingValueInteger(200, 529, _limit))
+        def apply_limit(setting, obj):
+            value = int(setting.value) * 10
+            obj.upper_uhf = value
+        rs.set_apply_callback(apply_limit, self._memobj.limits)
+        basic.append(rs)
+
         return group
 
     def set_settings(self, settings):



More information about the chirp_devel mailing list