From 4caf4a476e7363f813fc58edc077c08fb39f3554 Mon Sep 17 00:00:00 2001 From: jens Date: Wed, 22 Mar 2023 21:49:55 +0100 Subject: [PATCH] First Commit --- README.md | 1 + counter.py | 255 +++++++++++++++++++++++++++++++++++++++++++++++ counter.ui | 195 ++++++++++++++++++++++++++++++++++++ doku/jens.jpg | Bin 0 -> 93880 bytes doku/testMd.html | 48 +++++++++ gui.py | 135 +++++++++++++++++++++++++ 6 files changed, 634 insertions(+) create mode 100644 counter.py create mode 100644 counter.ui create mode 100644 doku/jens.jpg create mode 100644 doku/testMd.html create mode 100644 gui.py diff --git a/README.md b/README.md index fd9de8a..f609460 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # jfsCounter GUI für den jfsESP_counter + ` s1000 sets timebase to 1ms o10000 sets output to 10kHz output is >Value<\n in Hertz diff --git a/counter.py b/counter.py new file mode 100644 index 0000000..aaf034e --- /dev/null +++ b/counter.py @@ -0,0 +1,255 @@ +from PyQt5 import QtCore, QtWidgets, QtGui +from PyQt5.QtWidgets import QMainWindow, QApplication +import sys,time,os +import serial +from serial.tools.list_ports import comports +import glob +import pyqtgraph as pg +import traceback +import gui + +class MainWindow(QtWidgets.QMainWindow,gui.Ui_MainWindow): + def __init__(self): + super(MainWindow,self).__init__() + self.ui = gui.Ui_MainWindow() + self.ui.setupUi(self) + ## Plotwindow + self.x = [] + self.y = [] + self.grafwd = pg.PlotWidget() + self.ui.gridLayout_3.addWidget(self.grafwd,0,1,1,1) + self.data_line = self.grafwd.plot(self.x,self.y, pen=(0,255,0)) + ## Threads + self.timebase = 50 + self.thdx ={} + self.threadpool = QtCore.QThreadPool() + ## serial + self.populate_ports() + ## gui + self.ui.pushButton.pressed.connect(self.connect2board) + self.ui.pushButton_2.pressed.connect(self.disconnect2board) + self.ui.pushButton_3.pressed.connect(self.startesp32) + self.ui.pushButton_4.pressed.connect(self.stopesp32) + self.ui.pushButton_5.pressed.connect(self.clearPlot) + self.ui.pushButton_6.pressed.connect(self.setFrequency) + times = ['1','5','10','50','100','500','10000'] + self.ui.comboBox_2.addItems(times) + self.ui.comboBox_2.setCurrentText(str(self.timebase)) + self.ui.comboBox_2.currentIndexChanged['QString'].connect(self.setTimebase) + self.ui.checkBox.stateChanged.connect(self.testLauf) + + self.closeButtons() + ### Link zur Doku + #self.webEngineView.setUrl(QtCore.QUrl("file:///C:/Users/jens/ownCloud/www/jfs/git2022/jfsPoseidon/test.html")) + file_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "doku\\testMd.html")) + file_path = file_path.replace("\\",'/') + file_path = 'file:///'+file_path + self.ui.webEngineView.setUrl(QtCore.QUrl(file_path)) + # Populate the available ports + def populate_ports(self): + result = [] + for port in comports(): + result.append(port.name) + self.ui.comboBox.addItems(result) + self.globports = result + print("Ports have been populated.",self.globports) + + def setTimebase(self): + self.timebase=int(self.ui.comboBox_2.currentText()) + + def closeButtons(self): + self.ui.pushButton.setEnabled(True) + self.ui.pushButton_2.setEnabled(False) + self.ui.pushButton_3.setEnabled(False) + self.ui.pushButton_4.setEnabled(False) + self.ui.pushButton_5.setEnabled(False) + self.ui.pushButton_6.setEnabled(False) + self.ui.checkBox.setEnabled(False) + + def openButtons(self): + self.ui.pushButton.setEnabled(False) + self.ui.pushButton_2.setEnabled(True) + self.ui.pushButton_3.setEnabled(True) + #self.ui.pushButton_4.setEnabled(True) + self.ui.pushButton_5.setEnabled(True) + self.ui.pushButton_6.setEnabled(True) + self.ui.checkBox.setEnabled(True) + + def connect2board(self): + self.esp32_port = self.ui.comboBox.currentText() + self.statusBar().showMessage("You clicked CONNECT TO Esp32") + try: + port_declared = self.esp32_port in vars() + try: + print("connect to .. ",self.esp32_port) + self.esp32_serial = serial.Serial() + self.esp32_serial.port = self.esp32_port + self.esp32_serial.baudrate = 115200 + self.esp32_serial.parity = serial.PARITY_NONE + self.esp32_serial.stopbits = serial.STOPBITS_ONE + self.esp32_serial.bytesize = serial.EIGHTBITS + self.esp32_serial.timeout = 1 + self.esp32_serial.open() + self.openButtons() + time.sleep(0.1) + self.statusBar().showMessage("Successfully connected to esp32 board.") + except: + self.statusBar().showMessage("Cannot connect to board. Try again..") + except AttributeError: + self.statusBar().showMessage("Please plug in the board and select a proper port, then press connect.") + + def disconnect2board(self): + self.statusBar().showMessage("You clicked DISCONNECT FROM ESP32") + print("Disconnecting from board..") + time.sleep(0.1) + self.esp32_serial.close() + self.closeButtons() + print("Board has been disconnected") + + def startesp32(self): + self.clearPlot() + self.thdx[0]= ThC(index=1,port = self.esp32_serial,base=self.timebase) + self.threadpool.start(self.thdx[0]) + self.thdx[0].signals.datasignal.connect(self.updateData) + self.ui.pushButton_3.setEnabled(False) + self.ui.pushButton_4.setEnabled(True) + self.ui.comboBox_2.setEnabled(False) + + def stopesp32(self): + self.thdx[0].stop() + self.ui.pushButton_3.setEnabled(True) + self.ui.pushButton_4.setEnabled(False) + self.ui.comboBox_2.setEnabled(True) + + def updateData(self,x,y): + self.x.append(x) + self.y.append(y) + self.data_line.setData(self.x,self.y) + + def clearPlot(self): + self.x.clear() + self.y.clear() + self.data_line.setData(self.x,self.y) + + def setFrequency(self): + s = self.ui.lineEdit.text() + cmd='o'+str(s)+'\n' + self.statusBar().showMessage(cmd) + thread = Thread(self.sendToEsp32, cmd) + thread.signals.finished.connect(lambda:self.thread_finished(thread)) + self.threadpool.start(thread) + + def sendToEsp32(self, sendStr): + print(f" sending {sendStr}") + self.esp32_serial.write(sendStr.encode('utf-8')) + self.esp32_serial.flushInput() + + def testLauf(self,state): + if state == QtCore.Qt.Checked: + self.thdx[1] = ThC_2(port = self.esp32_serial) + self.threadpool.start(self.thdx[1]) + else: + self.thdx[1].stop() + + def thread_finished(self, th): + print("Your thread has completed. Now terminating..") + th.stop() + print("Thread has been terminated.") + print("=============================\n\n") + + +############################### +# MULTITHREADING : SIGNALS CLASS +# ############################## +class WorkerSignals(QtCore.QObject): + finished = QtCore.pyqtSignal() + error = QtCore.pyqtSignal(tuple) + result = QtCore.pyqtSignal(object) + progress = QtCore.pyqtSignal(int) + datasignal = QtCore.pyqtSignal(int,float) + +class Thread(QtCore.QRunnable): + def __init__(self, fn, *args, **kwargs): + super().__init__() + self.runs = True + self.fn = fn + self.args = args + self.kwargs = kwargs + self.signals = WorkerSignals() + def run(self): + try: + result = self.fn(*self.args, **self.kwargs) + except: + traceback.print_exc() + exctype, value = sys.exc_info()[:2] + self.signals.error.emit((exctype, value, traceback.format_exc())) + else: + self.signals.result.emit(result) # Return the result of the processing + finally: + self.signals.finished.emit() + self.stop() + def stop(self): + self.runs = False + +class ThC(QtCore.QRunnable): + #datasignal = QtCore.pyqtSignal(int,float) + def __init__(self,port=None,index=0,base=100): + super().__init__() + self.index = index + self.is_running = True + self.port = port + self.base = base + self.signals = WorkerSignals() + def run(self): + print(f"Thread {self.index} started") + self.port.flushOutput() + self.port.flushInput() + i = self.base*1000 + cmd = 's'+str(i)+'\n' + self.port.write(cmd.encode('utf-8')) + cnt = 0; + while True: + cnt+=1 + inp = self.port.readline() + try: + if inp[0] == 62 and inp[-3] == 60 : + inp = inp[1:-3] + try: + y = float(inp.decode('utf-8')) + self.signals.datasignal.emit(cnt,y) + except ValueError: + pass + except IndexError: + pass + time.sleep(0.001) + if self.is_running==False: + break + def stop(self): + self.is_running=False + print(f"Thread {self.index} stopped") + +class ThC_2(QtCore.QRunnable): + def __init__(self,port=None): + super().__init__() + self.is_running = True + self.port=port + def run(self): + cnt=0 + while True: + cnt+= 1 + if cnt >= 100 : cnt = 1 + cmd = 'o'+str(cnt*10000)+'\n' + print(cmd) + self.port.write(cmd.encode('utf-8')) + time.sleep(1) + if self.is_running==False: + break + def stop(self): + self.is_running=False + print(f'Thread ThC-2 stopped') + +if __name__ == '__main__': + app = QtWidgets.QApplication(sys.argv) + window = MainWindow() + window.show() + sys.exit(app.exec_()) \ No newline at end of file diff --git a/counter.ui b/counter.ui new file mode 100644 index 0000000..4ce3b9e --- /dev/null +++ b/counter.ui @@ -0,0 +1,195 @@ + + + MainWindow + + + + 0 + 0 + 1260 + 871 + + + + MainWindow + + + + + + + 1 + + + + Counter + + + + + + + + + + Port + + + + + + + + + + open Port + + + + + + + close Port + + + + + + + Timebase [ms] + + + + + + + + + + start + + + + + + + stop + + + + + + + clear Display + + + + + + + + + + + set Frequency + + + + + + + + + + Testlauf + + + + + + + on + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Doku + + + + + + + about:blank + + + + + + + + + + + + + + 0 + 0 + 1260 + 26 + + + + + + + + QWebEngineView + QWidget +
QtWebEngineWidgets/QWebEngineView
+
+
+ + +
diff --git a/doku/jens.jpg b/doku/jens.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7de168a74894f47cd954ab274e19f9c3d1b8027a GIT binary patch literal 93880 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%0DOom?KdL0fR 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 literal 0 HcmV?d00001 diff --git a/doku/testMd.html b/doku/testMd.html new file mode 100644 index 0000000..f5bbf17 --- /dev/null +++ b/doku/testMd.html @@ -0,0 +1,48 @@ +

Erster Test

+
    +
  1. lets go
  2. +
  3. oder was
  4. +
  5. naja
  6. +
+
+ +
+
+
+

Aufbau

+
    +
  • Syringe
  • +
+
+
+
    +
  • Photomultiplyer
  • +
+

Abbau

+
+
This is a python THing
+lets do it now
+
+

ok in an imperial way then

+

I Love My science

+

Entwicklung

+
- [ ] Juni 2022
+- [ ] This creates an Environment for the Software based on 
+- [ ] poseidon https://github.com/pachterlab/poseidon
+- [ ] PyQtGraph https://www.pyqtgraph.org/
+
+conda create --name piPyGra
+conda activate piPyGra
+conda install -c conda-forge pyqtgraph
+conda install pyserial
+pip install pyinstaller pyqt5
+pip install PyQtWebEngine
+.... work ... 
+conda deactivate
+
+conda activate PiPyGra
+Ananconda prompt designer
+pyuic5 -x gui2.ui -o gui2.py
+
+
+ \ No newline at end of file diff --git a/gui.py b/gui.py new file mode 100644 index 0000000..30587d1 --- /dev/null +++ b/gui.py @@ -0,0 +1,135 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'counter.ui' +# +# Created by: PyQt5 UI code generator 5.15.7 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1260, 871) + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout_6 = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout_6.setObjectName("gridLayout_6") + self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) + self.tabWidget.setObjectName("tabWidget") + self.tab = QtWidgets.QWidget() + self.tab.setObjectName("tab") + self.gridLayout_5 = QtWidgets.QGridLayout(self.tab) + self.gridLayout_5.setObjectName("gridLayout_5") + self.gridLayout_4 = QtWidgets.QGridLayout() + self.gridLayout_4.setObjectName("gridLayout_4") + self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setObjectName("gridLayout") + self.label = QtWidgets.QLabel(self.tab) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + self.comboBox = QtWidgets.QComboBox(self.tab) + self.comboBox.setObjectName("comboBox") + self.gridLayout.addWidget(self.comboBox, 0, 1, 1, 1) + self.pushButton = QtWidgets.QPushButton(self.tab) + self.pushButton.setObjectName("pushButton") + self.gridLayout.addWidget(self.pushButton, 0, 2, 1, 1) + self.pushButton_2 = QtWidgets.QPushButton(self.tab) + self.pushButton_2.setObjectName("pushButton_2") + self.gridLayout.addWidget(self.pushButton_2, 0, 3, 1, 1) + self.label_2 = QtWidgets.QLabel(self.tab) + self.label_2.setObjectName("label_2") + self.gridLayout.addWidget(self.label_2, 0, 4, 1, 1) + self.comboBox_2 = QtWidgets.QComboBox(self.tab) + self.comboBox_2.setObjectName("comboBox_2") + self.gridLayout.addWidget(self.comboBox_2, 0, 5, 1, 1) + self.pushButton_3 = QtWidgets.QPushButton(self.tab) + self.pushButton_3.setObjectName("pushButton_3") + self.gridLayout.addWidget(self.pushButton_3, 0, 6, 1, 1) + self.pushButton_4 = QtWidgets.QPushButton(self.tab) + self.pushButton_4.setObjectName("pushButton_4") + self.gridLayout.addWidget(self.pushButton_4, 0, 7, 1, 1) + self.pushButton_5 = QtWidgets.QPushButton(self.tab) + self.pushButton_5.setObjectName("pushButton_5") + self.gridLayout.addWidget(self.pushButton_5, 0, 8, 1, 1) + self.gridLayout_4.addLayout(self.gridLayout, 0, 0, 1, 1) + self.gridLayout_2 = QtWidgets.QGridLayout() + self.gridLayout_2.setObjectName("gridLayout_2") + self.pushButton_6 = QtWidgets.QPushButton(self.tab) + self.pushButton_6.setObjectName("pushButton_6") + self.gridLayout_2.addWidget(self.pushButton_6, 0, 0, 1, 1) + self.lineEdit = QtWidgets.QLineEdit(self.tab) + self.lineEdit.setObjectName("lineEdit") + self.gridLayout_2.addWidget(self.lineEdit, 0, 1, 1, 1) + self.label_3 = QtWidgets.QLabel(self.tab) + self.label_3.setObjectName("label_3") + self.gridLayout_2.addWidget(self.label_3, 0, 2, 1, 1) + self.checkBox = QtWidgets.QCheckBox(self.tab) + self.checkBox.setObjectName("checkBox") + self.gridLayout_2.addWidget(self.checkBox, 0, 3, 1, 1) + self.gridLayout_4.addLayout(self.gridLayout_2, 0, 1, 1, 1) + self.gridLayout_5.addLayout(self.gridLayout_4, 0, 0, 1, 1) + self.gridLayout_3 = QtWidgets.QGridLayout() + self.gridLayout_3.setObjectName("gridLayout_3") + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.gridLayout_3.addItem(spacerItem, 0, 0, 1, 1) + self.widget = QtWidgets.QWidget(self.tab) + self.widget.setObjectName("widget") + self.gridLayout_3.addWidget(self.widget, 0, 1, 1, 1) + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.gridLayout_3.addItem(spacerItem1, 1, 1, 1, 1) + self.gridLayout_5.addLayout(self.gridLayout_3, 1, 0, 1, 1) + self.tabWidget.addTab(self.tab, "") + self.tab_2 = QtWidgets.QWidget() + self.tab_2.setObjectName("tab_2") + self.verticalLayout = QtWidgets.QVBoxLayout(self.tab_2) + self.verticalLayout.setObjectName("verticalLayout") + self.webEngineView = QtWebEngineWidgets.QWebEngineView(self.tab_2) + self.webEngineView.setUrl(QtCore.QUrl("about:blank")) + self.webEngineView.setObjectName("webEngineView") + self.verticalLayout.addWidget(self.webEngineView) + self.tabWidget.addTab(self.tab_2, "") + self.gridLayout_6.addWidget(self.tabWidget, 0, 0, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1260, 26)) + self.menubar.setObjectName("menubar") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + + self.retranslateUi(MainWindow) + self.tabWidget.setCurrentIndex(1) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) + self.label.setText(_translate("MainWindow", "Port")) + self.pushButton.setText(_translate("MainWindow", "open Port")) + self.pushButton_2.setText(_translate("MainWindow", "close Port")) + self.label_2.setText(_translate("MainWindow", "Timebase [ms]")) + self.pushButton_3.setText(_translate("MainWindow", "start")) + self.pushButton_4.setText(_translate("MainWindow", "stop")) + self.pushButton_5.setText(_translate("MainWindow", "clear Display")) + self.pushButton_6.setText(_translate("MainWindow", "set Frequency")) + self.label_3.setText(_translate("MainWindow", "Testlauf")) + self.checkBox.setText(_translate("MainWindow", "on")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Counter")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Doku")) +from PyQt5 import QtWebEngineWidgets + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MainWindow = QtWidgets.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec_())