<div dir="ltr"><div class="gmail_default" style="font-family:&#39;courier new&#39;,monospace">I have tested it with the &quot;newer&quot; versions that had the upload/download issues as well as an ​&quot;older&quot; version that was previously working with chirp.</div><div class="gmail_default" style="font-family:&#39;courier new&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;courier new&#39;,monospace">What is the review process for patches? Should I submit a new patch with the corrections that you request?</div><div class="gmail_default" style="font-family:&#39;courier new&#39;,monospace"><br></div><div class="gmail_default" style="font-family:&#39;courier new&#39;,monospace">Thank you.</div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-03-09 21:16 GMT-04:00 Dan Smith <span dir="ltr">&lt;<a href="mailto:dsmith@danplanet.com" target="_blank">dsmith@danplanet.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Mathieu,<br>
<br>
It came through this time :)<br>
<br>
&gt; # HG changeset patch<br>
&gt; # User Mathieu Rozon &lt;<a href="mailto:mathrozon@gmail.com">mathrozon@gmail.com</a>&gt;<br>
&gt; # Date 1425778153 18000<br>
&gt; #      Sat Mar 07 20:29:13 2015 -0500<br>
&gt; # Node ID cfdd6f6577f1c8d420376c35bb684a9552042179<br>
&gt; # Parent  d84dfd6c29d61268de11584f5d427e60936131d9<br>
&gt; Fix downloading/uploading issue for UV-5R. Fixes #2317<br>
&gt;<br>
&gt; diff -r d84dfd6c29d6 -r cfdd6f6577f1 chirp/drivers/uv5r.py<br>
&gt; --- a/chirp/drivers/uv5r.py   Tue Mar 03 22:25:38 2015 -0800<br>
&gt; +++ b/chirp/drivers/uv5r.py   Sat Mar 07 20:29:13 2015 -0500<br>
&gt; @@ -438,17 +438,22 @@<br>
&gt;      ack = serial.read(1)<br>
&gt;      if ack != &quot;\x06&quot;:<br>
&gt;          raise errors.RadioError(&quot;Radio refused clone&quot;)<br>
&gt; -<br>
&gt; +<br>
<br>
You&#39;re adding whitespace here, please remove this.<br>
<br>
&gt;      return ident<br>
&gt;<br>
&gt;<br>
&gt; -def _read_block(radio, start, size):<br>
&gt; +def _read_block(radio, start, size, firstCommand):<br>
<br>
Since this is not needed every time, you should default this to False<br>
for easier calling. Like this:<br>
<br>
  def _read_block(radio, start, size, first_command=False):<br>
      ...<br>
<br>
&gt;      msg = struct.pack(&quot;&gt;BHB&quot;, ord(&quot;S&quot;), start, size)<br>
&gt;      radio.pipe.write(msg)<br>
&gt;<br>
&gt; +    if(firstCommand == False):<br>
<br>
Please don&#39;t use camelCase identifiers and observe proper spacing; the<br>
parentheses are unnecessary. Also, the pythonic way to do this would be:<br>
<br>
  if not first_command:<br>
      ...<br>
<br>
&gt; +        ack = radio.pipe.read(1)<br>
&gt; +        if ack != &quot;\x06&quot;:<br>
&gt; +            raise errors.RadioError(&quot;Radio refused to send second block 0x%04x&quot; % start)<br>
&gt; +<br>
&gt;      answer = radio.pipe.read(4)<br>
&gt;      if len(answer) != 4:<br>
&gt; -        raise errors.RadioError(&quot;Radio refused to send block 0x%04x&quot; % start)<br>
&gt; +        raise errors.RadioError(&quot;Radio refused to send first block 0x%04x&quot; % start)<br>
<br>
I don&#39;t think you should make this change, as you could hit this error<br>
on a non-first block.<br>
<br>
&gt;<br>
&gt;      cmd, addr, length = struct.unpack(&quot;&gt;BHB&quot;, answer)<br>
&gt;      if cmd != ord(&quot;X&quot;) or addr != start or length != size:<br>
&gt; @@ -464,28 +469,25 @@<br>
&gt;          raise errors.RadioError(&quot;Radio sent incomplete block 0x%04x&quot; % start)<br>
&gt;<br>
&gt;      radio.pipe.write(&quot;\x06&quot;)<br>
&gt; -<br>
&gt; -    ack = radio.pipe.read(1)<br>
&gt; -    if ack != &quot;\x06&quot;:<br>
&gt; -        raise errors.RadioError(&quot;Radio refused to send block 0x%04x&quot; % start)<br>
&gt; +    time.sleep(0.005)<br>
&gt;<br>
&gt;      return chunk<br>
&gt;<br>
&gt;<br>
&gt;  def _get_radio_firmware_version(radio):<br>
&gt;      if radio.MODEL == &quot;BJ-UV55&quot;:<br>
&gt; -        block = _read_block(radio, 0x1FF0, 0x40)<br>
&gt; +        block = _read_block(radio, 0x1FF0, 0x40, True)<br>
&gt;          version = block[0:6]<br>
&gt;      else:<br>
&gt; -        block1 = _read_block(radio, 0x1EC0, 0x40)<br>
&gt; -        block2 = _read_block(radio, 0x1F00, 0x40)<br>
&gt; +        block1 = _read_block(radio, 0x1EC0, 0x40, True)<br>
&gt; +        block2 = _read_block(radio, 0x1F00, 0x40, False)<br>
<br>
If you make the change I suggested above about the defaulted parameter,<br>
then you won&#39;t need to pass False here.<br>
<br>
I&#39;m worried that this may not work for other UV5R variants, other than<br>
the ones mentioned in the bug.<br>
<br>
Jim, can you look the changes here over and see if you think it&#39;ll be a<br>
problem for the other versions of this radio?<br>
<br>
Thanks!<br>
<span class="HOEnZb"><font color="#888888"><br>
--Dan<br>
<br>
</font></span><br>_______________________________________________<br>
chirp_devel mailing list<br>
<a href="mailto:chirp_devel@intrepid.danplanet.com">chirp_devel@intrepid.danplanet.com</a><br>
<a href="http://intrepid.danplanet.com/mailman/listinfo/chirp_devel" target="_blank">http://intrepid.danplanet.com/mailman/listinfo/chirp_devel</a><br>
Developer docs: <a href="http://chirp.danplanet.com/projects/chirp/wiki/Developers" target="_blank">http://chirp.danplanet.com/projects/chirp/wiki/Developers</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-size:small"><div style="font-family:&#39;courier new&#39;,monospace">&lt;---- Mathieu Rozon ----&gt;<br></div></div><div style="font-size:small"><div dir="ltr"><font face="courier new, monospace">   <a href="mailto:mathrozon@gmail.som" style="color:rgb(17,85,204)" target="_blank">mathrozon@gmail.com</a><br></font><div><span style="font-family:&#39;courier new&#39;,monospace">     (514)475-5010</span></div></div></div></div></div></div></div>
</div>