[chirp_devel] [PATCH] [UV-82] Add support for Baofeng UV-82 VHF/UHF transceiver
# HG changeset patch # User Jim Unroe rock.unroe@gmail.com # Date 1373422432 14400 # Node ID bf90ba41e4115f15c698e99442162be4882ce213 # Parent 3f9a95820f7dd2bdf7cc53f79b7661e93bacfcc1 [UV-82] Add support for Baofeng UV-82 VHF/UHF transceiver #961
diff -r 3f9a95820f7d -r bf90ba41e411 chirp/uv5r.py --- a/chirp/uv5r.py Fri Jul 05 19:03:33 2013 -0700 +++ b/chirp/uv5r.py Tue Jul 09 22:13:52 2013 -0400 @@ -112,6 +112,7 @@ u8 rptrl; u8 ponmsg; u8 roger; + u8 rogerrx; } settings[2];
#seekto 0x0E52; @@ -245,7 +246,7 @@ MODE_LIST = ["Channel", "Name", "Frequency"] COLOR_LIST = ["Off", "Blue", "Orange", "Purple"] ALMOD_LIST = ["Site", "Tone", "Code"] -TDRAB_LIST = ["Off", "A", "B"] +TDRAB_LIST = ROGERRX_LIST = ["Off", "A", "B"] PONMSG_LIST = ["Full", "Message"] RPSTE_LIST = ["%s" % x for x in range(1, 11, 1)] RPSTE_LIST.insert(0, "OFF") @@ -268,6 +269,7 @@ "txled" : COLOR_LIST, "almod" : ALMOD_LIST, "tdrab" : TDRAB_LIST, + "rogerrx" : ROGERRX_LIST, "ponmsg" : PONMSG_LIST, "rpste" : RPSTE_LIST, "stedelay" : STEDELAY_LIST, @@ -297,6 +299,7 @@ UV5R_MODEL_ORIG = "\x50\xBB\xFF\x01\x25\x98\x4D" UV5R_MODEL_291 = "\x50\xBB\xFF\x20\x12\x07\x25" UV5R_MODEL_F11 = "\x50\xBB\xFF\x13\xA1\x11\xDD" +UV82_MODEL = "\x50\xBB\xFF\x20\x13\x01\x05"
def _upper_band_from_data(data): return data[0x03:0x04] @@ -420,7 +423,7 @@ print "Image is %s" % repr(image_version) print "Radio is %s" % repr(radio_version)
- if "BFB" not in radio_version and "USA" not in radio_version: + if "BFB" not in radio_version and "BF82" not in radio_version and "USA" not in radio_version: raise errors.RadioError("Unsupported firmware version: `%s'" % radio_version)
@@ -723,6 +726,8 @@ idx = version_tag.index("BFB") + 3 version = int(version_tag[idx:idx+3]) return version < 291 + if 'BF82' in version_tag: + return False if 'USA' in version_tag: return False except: @@ -735,6 +740,9 @@ if 'BFB' in version_tag: idx = version_tag.index("BFB") + 3 return int(version_tag[idx:idx+3]) + elif 'BF' in version_tag: + idx = version_tag.index("BF") + 2 + return int(version_tag[idx:idx+4]) elif 'USA' in version_tag: idx = version_tag.index("USA") + 3 return int(version_tag[idx:idx+3]) @@ -789,15 +797,15 @@ TIMEOUT_LIST[_settings.timeout])) basic.append(rs)
- if self._my_version() >= 251: + if self._is_orig() and self._my_version() < 251: + rs = RadioSetting("voice", "Voice", + RadioSettingValueBoolean(_settings.voice)) + advanced.append(rs) + else: rs = RadioSetting("voice", "Voice", RadioSettingValueList(VOICE_LIST, VOICE_LIST[_settings.voice])) advanced.append(rs) - else: - rs = RadioSetting("voice", "Voice", - RadioSettingValueBoolean(_settings.voice)) - advanced.append(rs)
rs = RadioSetting("screv", "Scan Resume", RadioSettingValueList(RESUME_LIST, @@ -841,9 +849,18 @@ COLOR_LIST[_settings.txled])) basic.append(rs)
- rs = RadioSetting("roger", "Roger Beep", - RadioSettingValueBoolean(_settings.roger)) - basic.append(rs) + if self._my_version() < 8215: + rs = RadioSetting("roger", "Roger Beep", + RadioSettingValueBoolean(_settings.roger)) + basic.append(rs) + else: + rs = RadioSetting("roger", "Roger Beep (TX)", + RadioSettingValueBoolean(_settings.roger)) + basic.append(rs) + rs = RadioSetting("rogerrx", "Roger Beep (RX)", + RadioSettingValueList(ROGERRX_LIST, + ROGERRX_LIST[_settings.rogerrx])) + basic.append(rs)
rs = RadioSetting("ste", "Squelch Tail Eliminate (HT to HT)", RadioSettingValueBoolean(_settings.ste)) @@ -1078,7 +1095,7 @@ options[self._memobj.vfob.scode])) workmode.append(rs)
- if self._my_version() >= 291: + if not self._is_orig(): rs = RadioSetting("vfoa.step", "VFO A Tuning Step", RadioSettingValueList(STEP291_LIST, STEP291_LIST[self._memobj.vfoa.step])) @@ -1221,3 +1238,9 @@ MODEL = "F-11" _basetype = "USA" _idents = [UV5R_MODEL_F11] + +@directory.register +class BaofengUV82Radio(BaofengUV5R): + MODEL = "UV-82" + _basetype = "BF82" + _idents = [UV82_MODEL]
- u8 rogerrx;
} settings[2];
We need to remove the legacy use of settings as an array. This is an artifact of a previous bug in bitwise which has since been fixed. Not your fault, but by knee-jerk reaction was that this addition would break the array :)
-TDRAB_LIST = ["Off", "A", "B"] +TDRAB_LIST = ROGERRX_LIST = ["Off", "A", "B"]
This is a little confusing, I think we could just use the same list for both functions. But, I can't find anything else to complain about, so I won't ask you to change it.
Thanks! :)
On Wed, Jul 10, 2013 at 7:50 PM, Dan Smith dsmith@danplanet.com wrote:
- u8 rogerrx;
} settings[2];
We need to remove the legacy use of settings as an array. This is an artifact of a previous bug in bitwise which has since been fixed. Not your fault, but by knee-jerk reaction was that this addition would break the array :)
I've always wondered why it was like this. But I try to leave things alone that I don't need to change because I don't want to break things.
-TDRAB_LIST = ["Off", "A", "B"] +TDRAB_LIST = ROGERRX_LIST = ["Off", "A", "B"]
This is a little confusing, I think we could just use the same list for both functions. But, I can't find anything else to complain about, so I won't ask you to change it.
I originally tested it out using the same list for both functions. I didn't do it that way because I thought a "TDR" list being used for a "ROGER" function would be confusing. I supposed the list could have been renamed to something more generic.
Thanks! :)
Thank you for your help with getting us started. It's kind of neat adding a new radio without ever having touched one.
Jim
I originally tested it out using the same list for both functions. I didn't do it that way because I thought a "TDR" list being used for a "ROGER" function would be confusing. I supposed the list could have been renamed to something more generic.
Yeah, renaming it would seem best to me.
Thank you for your help with getting us started. It's kind of neat adding a new radio without ever having touched one.
No problem. They don't all go like this, of course. Usually it's me back and forth with the person for weeks before I throw my hands up and say "send me the damned thing or forget it!" :)
participants (2)
-
Dan Smith
-
Jim Unroe