<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im"><br>
&gt; That&#39;s it. If I change 5 to 6 and load the image the settings tab is<br>
&gt; available and the PTT-ID #1 is displayed as &quot;1f0202&quot; (6 characters<br>
&gt; long).<br>
<br>
</div>Okay, but just to be clear, the problem is not that it should be be 6<br>
characters long, but that the 1F hex value is being rendered into the<br>
string as two characters, right? I think you know this, but just making<br>
sure...<br></blockquote><div><br></div><div>Right. 1F is the problem.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I&#39;m guessing that 0x1F is a sentinel value, which would be a five-bit<br>
field of all ones (00011111).<br>
<div class="im"><br>
&gt; Plus while testing, I just discovered that the Baofeng software also<br>
&gt; allows *, #, A, B, C and D in addition to the 10 digits.<br>
<br>
</div>Ah, good to know :)<br>
<br>
Will this fix it?<br>
<br>
diff -r b6bca3fba0e9 chirp/uv5r.py<br>
--- a/chirp/uv5r.py     Mon Apr 01 17:15:57 2013 -0700<br>
+++ b/chirp/uv5r.py     Mon Apr 01 17:30:29 2013 -0700<br>
@@ -1055,12 +1055,13 @@<br>
<br>
         dtmf = RadioSettingGroup(&quot;dtmf&quot;, &quot;DTMF Settings&quot;)<br>
         group.append(dtmf)<br>
+        dtmfchars = &quot;0123456789*#ABCD&quot;<br>
<br>
         for i in range(0, 15):<br>
             _codeobj = self._memobj.pttid[i].code<br>
-            _code = &quot;&quot;.join([&quot;%x&quot; % x for x in _codeobj if int(x) !=<br>
0xFF])<br>
+            _code = &quot;&quot;.join([dtmfchars[x] for x in _codeobj if int(x)<br>
&lt; 0x1F]) val = RadioSettingValueString(0, 5, _code, False)<br>
-            val.set_charset(&quot;0123456789&quot;)<br>
+            val.set_charset(dtmfchars)<br>
             rs = RadioSetting(&quot;pttid/%i.code&quot; % i, &quot;PTT ID Code %i&quot; %<br>
(i + 1), def apply_code(setting, obj):<br>
                 code = []<br>
<div class=""><div class="h5"><br></div></div></blockquote><br></div><div class="gmail_quote">It allows the characters to be read from the radio. But I get the following error when keying in the extended characters.<br></div>
<pre>Error in setting value: invalid literal for int() with base 10: &#39;A&#39; <br></pre>or &#39;*&#39; or &#39;#&#39; or &#39;B&#39; or &#39;C&#39; or &#39;D&#39;. Clicking the [OK] button clears the error and enters the character in the field. The extended characters do not get uploaded to the radio.<br>
<br>Jim<br></div></div>