Skip to content

Commit ae59fd0

Browse files
committed
miniterm: reconnect in a loop handling errors, exit key
1 parent a73b96b commit ae59fd0

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

serial/tools/miniterm.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -610,10 +610,18 @@ def handle_menu_key(self, c):
610610
# reader thread needs to be shut down
611611
self._stop_reader()
612612
self.serial.close()
613-
sys.stderr.write('--- Port closed: {} ---\n'.format(self.serial.port))
614-
sys.stderr.write('--- press any key to reconnect ---\n')
615-
self.console.getkey()
616-
self.serial.open()
613+
sys.stderr.write('\n--- Port closed: {} ---\n'.format(self.serial.port))
614+
while not self.serial.is_open:
615+
sys.stderr.write('--- press {exit} to exit or any other key to reconnect ---\n'.format(
616+
exit=key_description(self.exit_character)))
617+
k = self.console.getkey()
618+
if k == self.exit_character:
619+
self.stop() # exit app
620+
break
621+
try:
622+
self.serial.open()
623+
except Exception as e:
624+
sys.stderr.write('--- ERROR opening port: {} ---\n'.format(e))
617625
# and restart the reader thread
618626
self._start_reader()
619627
sys.stderr.write('--- Port opened: {} ---\n'.format(self.serial.port))

0 commit comments

Comments
 (0)