def getkey(self):
     while True:
         z = msvcrt.getwch()
         if z == unichr(13):
             return unichr(10)
         elif z is unichr(0) or z is unichr(0xe0):
             try:
                 code = msvcrt.getwch()
                 if z is unichr(0):
                     return self.fncodes[code]
                 else:
                     return self.navcodes[code]
             except KeyError:
                 pass
         else:
             return z
예제 #2
0
 def WriteText(self, text):
     if self.settings.unprintable:
         text = ''.join([
             c if (c >= ' ' and c != '\x7f') else unichr(0x2400 + ord(c))
             for c in text
         ])
     self.text_ctrl_output.AppendText(text)
 def __init__(self, serial_instance, echo=False, eol='crlf', filters=()):
     self.console = Console()
     self.serial = serial_instance
     self.echo = echo
     self.raw = False
     self.input_encoding = 'UTF-8'
     self.output_encoding = 'UTF-8'
     self.eol = eol
     self.filters = filters
     self.update_transformations()
     self.exit_character = unichr(0x1d)  # GS/CTRL+]
     self.menu_character = unichr(0x14)  # Menu: CTRL+T
     self.alive = None
     self._reader_alive = None
     self.receiver_thread = None
     self.rx_decoder = None
     self.tx_decoder = None
예제 #4
0
 def OnKey(self, event):
     """\
     Key event handler. If the key is in the ASCII range, write it to the
     serial port. Newline handling and local echo is also done here.
     """
     code = event.GetUnicodeKey()
     # if code < 256:   # XXX bug in some versions of wx returning only capital letters
     #     code = event.GetKeyCode()
     if code == 13:  # is it a newline? (check for CR which is the RETURN key)
         if self.settings.echo:  # do echo if needed
             self.text_ctrl_output.AppendText('\n')
         if self.settings.newline == NEWLINE_CR:
             self.serial.write(b'\r')  # send CR
         elif self.settings.newline == NEWLINE_LF:
             self.serial.write(b'\n')  # send LF
         elif self.settings.newline == NEWLINE_CRLF:
             self.serial.write(b'\r\n')  # send CR+LF
     else:
         char = unichr(code)
         if self.settings.echo:  # do echo if needed
             self.WriteText(char)
         self.serial.write(char.encode('UTF-8',
                                       'replace'))  # send the character
     event.StopPropagation()
예제 #5
0
import serial
from serial.tools.miniterm import Miniterm, unichr
import colorama

colorama.init(True)

serial_instance = serial.serial_for_url('/dev/ttyUSB0',
                                        115200,
                                        do_not_open=True)

miniterm = Miniterm(serial_instance, filters=['colorize'])
miniterm.exit_character = unichr(29)
miniterm.menu_character = unichr(20)

miniterm.start()

try:
    miniterm.join(True)
except KeyboardInterrupt:
    pass