From 260dc5b3af8c0dcfcba4d6de1cc51fc877766ab7 Mon Sep 17 00:00:00 2001 From: Rahix <rahix@rahix.de> Date: Sat, 17 Oct 2020 14:12:33 +0200 Subject: [PATCH] fix(pycard10): Make pycard10 reset pycardium via os.exec("") This will result in more reliably reaching a clean state. Co-Authored-By: schneider <schneider@muc.ccc.de> Signed-off-by: Rahix <rahix@rahix.de> --- tools/pycard10.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/pycard10.py b/tools/pycard10.py index a0ce7419..5f0a870c 100755 --- a/tools/pycard10.py +++ b/tools/pycard10.py @@ -130,10 +130,12 @@ class PyCard10(Pyboard): None """ - self.soft_reset() - self.serial.write(b"\x03\x03") # ctrl-C twice: interrupt any running program + self.serial.write(b"\x02") # ctrl-B: ensue it's the normal mode + + self.serial.write(b'__import__("os").exec("")\r') # Reset to REPL + # flush input (without relying on serial.flushInput()) n = self.serial.inWaiting() while n > 0: @@ -176,8 +178,6 @@ class PyCard10(Pyboard): self.serial.write(b"\x04") # ctrl-D: do the reset - time.sleep(1) # Give epicardium some time to cycle pycardium - n = self.serial.inWaiting() while n > 0: self.serial.read(n) -- GitLab