tools/pyboard.py: Make enter_raw_repl stricter and more reliable.

When looking for chars to indicate raw repl is active, look for the full
string of chars to improve reliability of entering raw repl correctly.

Previous to this patch there was the possibility that raw repl was
entered in a dirty state, where not all input chars from previous
invocation were drained.
This commit is contained in:
Damien George 2015-07-25 22:46:07 +01:00
parent 9de53bf788
commit f1236734bb
1 changed files with 3 additions and 3 deletions

View File

@ -79,14 +79,14 @@ class Pyboard:
n = self.serial.inWaiting()
self.serial.write(b'\r\x01') # ctrl-A: enter raw REPL
data = self.read_until(1, b'to exit\r\n>')
data = self.read_until(1, b'raw REPL; CTRL-B to exit\r\n>')
if not data.endswith(b'raw REPL; CTRL-B to exit\r\n>'):
print(data)
raise PyboardError('could not enter raw repl')
self.serial.write(b'\x04') # ctrl-D: soft reset
data = self.read_until(1, b'to exit\r\n')
if not data.endswith(b'raw REPL; CTRL-B to exit\r\n'):
data = self.read_until(1, b'soft reboot\r\nraw REPL; CTRL-B to exit\r\n')
if not data.endswith(b'soft reboot\r\nraw REPL; CTRL-B to exit\r\n'):
print(data)
raise PyboardError('could not enter raw repl')