[chirp_devel] Need help with "def _send_block(radio, addr, data):"

Jim Unroe
Mon Jan 4 15:30:03 PST 2016


On Wed, Dec 30, 2015 at 10:12 PM, Jim Unroe <rock.unroe at gmail.com> wrote:
> Hi all,
>
> I am working on a radio driver that is giving me issues with
> uploading. I have the Ident working OK and I can download OK (not
> perfect but I can get a image). Using PortMon I captured the upload to
> the radio using the OEM software. What I see is after the first
> "chunk" is sent, the radio acks with "\x05" and then a little later
> acks with "\x06". Every "chunk" after that, only the "\x06" is sent.
>
> I thought the following would take care of it, but it doesn't.
>
> def _send_block(radio, addr, data):
>     msg = struct.pack(">BHB", ord("X"), addr, len(data))
>     radio.pipe.write("\x06")
>     radio.pipe.write(msg + data)
>     time.sleep(0.05)
>
>     ack = radio.pipe.read(1)
>     print util.hexprint(ack1)
>     if ack == "\x05":
>         print "am i working?"
>         time.sleep(0.5)
>         ack = radio.pipe.read(1)
>         print util.hexprint(ack)
>     if ack != "\x06":
>     raise errors.RadioError("Radio refused to accept block 0x%04x" % addr)
>
> The first "ack =" captures the "\x05" just fine
> The first "print" prints the captured ack
> The "am i working?" gets printed
> Apparently the second "ack =" does nothing because the second "print"
> doesn't print anything
>
> I'm stumped. Any ideas?
>
> I've attached a shortened version of the captured upload (it was over
> 10 meg so I removed most of the middle).
>
> Thanks,
> Jim KC9HI

Anyone?



More information about the chirp_devel mailing list