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