Skip to content
Snippets Groups Projects
Verified Commit dea631b9 authored by Karel Koci's avatar Karel Koci :metal:
Browse files

Add possibility to run Miniterm on serial port of board

This is handy for debugging. It allows you to access serial console
during tests and that way developer can access directly state it
requires.
The way how it works is that developer is going to call:
board.serial_miniterm()
in appropriate location.

To make this work pytest have to be run without terminal redirection.
This is as easy as appending -s to pytest call.
parent 0caf6122
No related branches found
No related tags found
1 merge request!2Initial development
......@@ -2,9 +2,14 @@
"""
import os
import serial
import serial.tools.miniterm
from pexpect import fdpexpect
from . import cli
MINITERM_DEFAULT_EXIT = '\x1d' # Ctrl+]
MINITERM_DEFAULT_MENU = '\x14' # Ctrl+T
MINITERM_ENCODING = sys.getdefaultencoding()
class Board():
def __init__(self, target, target_config):
......@@ -43,6 +48,29 @@ class Board():
"""
return self.pexpect
def serial_miniterm(self):
"""Runs interactive miniterm on serial TTY interface.
This can be used only if you disable capture in pytest (--capture=no).
"""
miniterm = serial.tools.miniterm.Miniterm(self.serial)
miniterm.exit_character = MINITERM_DEFAULT_EXIT
miniterm.menu_character = MINITERM_DEFAULT_MENU
miniterm.set_rx_encoding(MINITERM_ENCODING)
miniterm.set_tx_encoding(MINITERM_ENCODING)
sys.stderr.write('\n')
sys.stderr.write('--- Miniterm on {p.name} ---\n'.format(p=miniterm.serial))
sys.stderr.write('--- Quit: {0} | Menu: {1} | Help: {1} followed by {2} ---\n'.format(
serial.tools.miniterm.key_description(miniterm.exit_character),
serial.tools.miniterm.key_description(miniterm.menu_character),
serial.tools.miniterm.key_description('\x08')))
miniterm.start()
miniterm.join()
sys.stderr.write("\n--- Miniterm exit ---\n")
class Mox(Board):
"""Turris Mox boards.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment