Hi Dan,
thanks for your very detailled feedback (I really do appriciate that). Hopefully I did it all right except for two items:
+def _r2_enter_programming_mode(radio):
- serial = radio.pipe
- magic = "TYOGRAM"
- exito = False
- serial.write(CMD_STX)
- for i in range(0, 5):
for j in range(0, len(magic)):
serial.write(magic[j])
ack = serial.read(1)
try:
if ack == CMD_ACK:
exito = True
break
except:
LOG.debug("Attempt #%s, failed, trying again" % i)
pass
I don't think there's anything in this try..except block that can raise, so I would just remove it.
No that should stay in there as we do expect to receive an ACK from the radio upon sending TYGRAM to the radio.
- # check if we had EXITO
- if exito is False:
msg = "The radio did not accept program mode after five
tries.\n"
msg += "Check you interface cable and power cycle your radio."
raise errors.RadioError(msg)
- try:
serial.write(CMD_STX)
ident = serial.read(8)
- except:
_r2_exit_programming_mode(radio)
raise errors.RadioError("Error communicating with radio")
- # No idea yet what the next 7 bytes stand for
- # as long as they start with ACK we are fine
- if not ident.startswith(CMD_ACK):
_r2_exit_programming_mode(radio)
LOG.debug(util.hexprint(ident))
raise errors.RadioError("Radio returned unknown
identification string")
- try:
serial.write(CMD_ACK)
ack = serial.read(1)
- except:
_r2_exit_programming_mode(radio)
It would probably be best to wrap this function in something that always tries to exit programming mode if it raises so you don't need to have it on all the exit paths. Something like
def _r2_enter_programming_mode(radio): try: return _really_enter(radio) except: _r2_exit_programming_mode(radio) raise # will re-raise the original error
I will bare that in mind but due to the fact that I am really an absolute beginner to Python I would like to postpone the requested update for later. Hopefully that is OK for you. Promissed: I will later on try to get that done as suggested!
diff --git a/tests/images/Radioddity_R2.img b/tests/images/Radioddity_R2.img new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0bbd8468beda1c4f90b1be24385a530da662c710 GIT binary patch literal 1181 zc%1Ez&1!={6h>{KK0}w?WS`nva2dQPBZPt>@n<!o1T$({X*&e7>$=OlXCI;V-kDit z({&-2bHM92&WGwGK%o<kLT4@qQt#@PBS7kXcFz$YO&)RtNRw|k0;I`z90AhgpBw?w z<R^{*X>wN}K-zwR0BQRL0;KI12#~g4AVAuFfdFay1p=h)7wYW)FLRmyG+#H4>p0W3 zUVi>QpL%zCoT=W)x8Ymv8|P{}CSIBOUG>1^vs}paKI%jkbY<Mnw=4F}!sMg!(!L7W z6F#q&Qon0O+>dn>cx9d(@w{T~Ys1=wT8@v0GTwMh9vb$Nv{f7(>(P8$Wa)r+bs|sw Vb!+!g-{%#1G8CCV*Z0UI_yseAoGAbR
This looks like maybe you committed the image in a previous changeset and then just tweaked it in this one? Either add it in the same patch, or you can attach it to the issue you create and I can snag it from there.
I binary attached it to issue #6063
Also, I know you said you were having trouble running the style checks on windows, so I have included the output of it for you at the end here.
Thanks. That helped quite a lot.
Otherwise this looks really close, thanks! I'd like to get the image so I can run the tests and get as much of the style and other nits above cleaned up and then I'm good with it.
If I did it all right, the updated/patched version should already be received by your system.
Kind regards, Klaus