From 8a7fd74a78b68e4ed4740262bed6d1b0bc577843 Mon Sep 17 00:00:00 2001 From: Luca <luca.erbetta105@gmail.com> Date: Tue, 11 May 2021 14:39:18 +0200 Subject: [PATCH] Open serial port on startup & display it in a tab --- cutelog/__main__.py | 18 ++++++++++++++++-- serialtest.py | 8 ++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 serialtest.py diff --git a/cutelog/__main__.py b/cutelog/__main__.py index 0574f08..acc3732 100644 --- a/cutelog/__main__.py +++ b/cutelog/__main__.py @@ -1,8 +1,7 @@ import sys - +import argparse import qtpy - if not qtpy.PYQT5 and not qtpy.PYSIDE2: if sys.platform == 'linux': sys.exit("Error: a compatible Qt library couldn't be imported.\n" @@ -14,8 +13,10 @@ if not qtpy.PYQT5 and not qtpy.PYSIDE2: def main(): import signal + import serial from .config import ROOT_LOG from .main_window import MainWindow + from .serial import SerialConnection from .resources import qCleanupResources from qtpy.QtGui import QIcon from qtpy.QtWidgets import QApplication @@ -25,6 +26,19 @@ def main(): appid = 'busimus.cutelog' ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(appid) + parser = argparse.ArgumentParser(description='Open a serial port and neatly display log messages') + parser.add_argument('port', metavar='Serial port', type=str, nargs=1, + help='Serial port to open') + parser.add_argument('baud', metavar='Baud Rate', type=int, nargs=1, + help='baud rate') + + + args = parser.parse_args() + try: + ser = SerialConnection(None, args.port[0], args.baud[0]) + except serial.serialutil.SerialException as err: + sys.exit("Error opening serial port: {}".format(str(err))) + app = QApplication(sys.argv) app.setWindowIcon(QIcon(':/cutelog.png')) mw = MainWindow(ROOT_LOG, app) diff --git a/serialtest.py b/serialtest.py new file mode 100644 index 0000000..6112dc8 --- /dev/null +++ b/serialtest.py @@ -0,0 +1,8 @@ +import serial + +ser = serial.Serial('COM6', 19200, timeout=5) + +for i in range(1,10): + s = ser.readline().decode("utf-8").strip("\n\r") + print(s) + #ser.close() \ No newline at end of file -- GitLab