I asked Bill to email me his .img file and sure enough PTT-ID #1 had a 0x1f in the location where the first digit would normally be. I change it with a hex editor and email it back. I received a report that it is working now.
Cool, thanks for following up :)
That's it. If I change 5 to 6 and load the image the settings tab is available and the PTT-ID #1 is displayed as "1f0202" (6 characters long).
Okay, but just to be clear, the problem is not that it should be be 6 characters long, but that the 1F hex value is being rendered into the string as two characters, right? I think you know this, but just making sure...
I'm guessing that 0x1F is a sentinel value, which would be a five-bit field of all ones (00011111).
Plus while testing, I just discovered that the Baofeng software also allows *, #, A, B, C and D in addition to the 10 digits.
Ah, good to know :)
Will this fix it?
diff -r b6bca3fba0e9 chirp/uv5r.py --- a/chirp/uv5r.py Mon Apr 01 17:15:57 2013 -0700 +++ b/chirp/uv5r.py Mon Apr 01 17:30:29 2013 -0700 @@ -1055,12 +1055,13 @@
dtmf = RadioSettingGroup("dtmf", "DTMF Settings") group.append(dtmf) + dtmfchars = "0123456789*#ABCD"
for i in range(0, 15): _codeobj = self._memobj.pttid[i].code - _code = "".join(["%x" % x for x in _codeobj if int(x) != 0xFF]) + _code = "".join([dtmfchars[x] for x in _codeobj if int(x) < 0x1F]) val = RadioSettingValueString(0, 5, _code, False) - val.set_charset("0123456789") + val.set_charset(dtmfchars) rs = RadioSetting("pttid/%i.code" % i, "PTT ID Code %i" % (i + 1), def apply_code(setting, obj): code = []