On Tue, Oct 8, 2013 at 9:43 AM, Marco IZ3GME iz3gme.marco@gmail.com wrote:
blocks start from 0 and is incremented only after receiving a good ACK. Anyway I'm pretty sure that while testing I saw each message for each of the patch I sent, don't you?
No, I only saw the TX msg displayed after applying your patch.
blocks = 0 pos = 0 for block in radio._block_lengths: blocks += 1 if blocks != len(radio._block_lengths): #print "Sending %i-%i" % (pos, pos+block) pipe.write(radio.get_mmap()[pos:pos+block]) buf = pipe.read(1) if buf and buf[0] != chr(CMD_ACK): buf = pipe.read(block) if not buf or buf[-1] != chr(CMD_ACK): if blocks == 0: raise Exception(_("Radio did not ack first block\n") + radio._START_CLONE_RX_MSG) else : raise Exception(_("Radio did not ack block %i") % blocks)
Looks to me like blocks is incremented before the ACK (not after). That would explain why I never saw the message. With no radio connected, the error I get is "Radio did not ack block 1".
Tom KD7LXL