# HG changeset patch # User Jim Unroe rock.unroe@gmail.com # Date 1374547368 14400 # Node ID d6e861a71154d0eb983a3ec5407668223a0949c4 # Parent d5095e3a1c506a93d9933646353f22ac34050607 [UV-B5] Add Broadcast FM Radio Presets for Baofeng UV-B5/B6 #995
diff -r d5095e3a1c50 -r d6e861a71154 chirp/uvb5.py --- a/chirp/uvb5.py Sun Jul 14 23:42:23 2013 -0700 +++ b/chirp/uvb5.py Mon Jul 22 22:42:48 2013 -0400 @@ -48,6 +48,11 @@ #seekto 0x0850; struct memory vfo2;
+#seekto 0x09D0; +struct { + u16 freq; +} broadcastfm[16]; + #seekto 0x0A30; struct { u8 name[5]; @@ -512,6 +517,29 @@ rs.set_apply_callback(apply_limit, self._memobj.limits) basic.append(rs)
+ bcastfm = RadioSettingGroup("bcastfm", "FM Radio Presets") + group.append(bcastfm) + + def convert_bytes_to_freq(bytes): + real_freq = int(bytes) + 650 + if real_freq > 1080: + real_freq = 0 + return chirp_common.format_freq(real_freq * 100000) + + def apply_freq(setting, obj): + value = chirp_common.parse_freq(str(setting.value)) / 100000 + if value < 650 or value > 1080: + value = 65535 + 650 + obj.freq = value - 650 + + for i in range(0, 16): + _freq = RadioSettingValueString(0, 10, + convert_bytes_to_freq(self._memobj.broadcastfm[i].freq)) + rs = RadioSetting("broadcastfm/%i.freq" % i, + "Channel %i (65.0-108.0)" % (i + 1), _freq) + rs.set_apply_callback(apply_freq, self._memobj.broadcastfm[i]) + bcastfm.append(rs) + return group
def set_settings(self, settings):