class Ui_Free(object): def setupUi(self, Free): ### variables ### self.peakload = 0 ### option 3 straight endurance ### ## window setting ## Free.setObjectName("Free") Free.resize(1427, 969) Free.move(488, 3) Free.setWindowIcon(QtGui.QIcon("icons/logoapp702.ico")) self.centralwidget = QtWidgets.QWidget(Free) self.centralwidget.setObjectName("centralwidget") self.plot = MplWidget(self.centralwidget) self.plot.setGeometry(QtCore.QRect(420, 71, 860, 881)) self.plot.setObjectName("plot") ## titles and display labels ## self.freetitlelabel = QtWidgets.QLabel(self.centralwidget) self.freetitlelabel.setGeometry(QtCore.QRect(30, 30, 201, 41)) font = QtGui.QFont() font.setPointSize(10) font.setWeight(65) self.freetitlelabel.setFont(font) self.freetitlelabel.setObjectName("freetitlelabel") self.displaylabel_F = QtWidgets.QLabel(self.centralwidget) self.displaylabel_F.setGeometry(QtCore.QRect(705, 35, 280, 40)) font = QtGui.QFont() font.setPointSize(12) font.setWeight(50) self.displaylabel_F.setFont(font) self.displaylabel_F.setAlignment(QtCore.Qt.AlignCenter) self.displaylabel_F.setObjectName("displaylabel_F") self.currentWeightlabel = QtWidgets.QLabel(self.centralwidget) self.currentWeightlabel.setGeometry(QtCore.QRect(161, 80, 110, 31)) self.currentWeightlabel.setObjectName("currentWeightlabel") self.displayWeightlabel = QtWidgets.QLabel(self.centralwidget) self.displayWeightlabel.setGeometry(QtCore.QRect(88, 40, 246, 200)) font = QtGui.QFont() font.setPointSize(32) font.setWeight(65) self.displayWeightlabel.setFont(font) self.displayWeightlabel.setAlignment(QtCore.Qt.AlignCenter) self.displayWeightlabel.setObjectName("displayWeightlabel") self.currentpeakloadlabel = QtWidgets.QLabel(self.centralwidget) self.currentpeakloadlabel.setGeometry(QtCore.QRect(181, 190, 110, 31)) self.currentpeakloadlabel.setObjectName("currentpeakloadlabel") self.displayPeakloadlabel = QtWidgets.QLabel(self.centralwidget) self.displayPeakloadlabel.setGeometry(QtCore.QRect(88, 150, 246, 200)) font = QtGui.QFont() font.setPointSize(28) font.setWeight(55) self.displayPeakloadlabel.setFont(font) self.displayPeakloadlabel.setAlignment(QtCore.Qt.AlignCenter) self.displayPeakloadlabel.setObjectName("displayPeakloadlabel") ## buttons ## self.startButt = QtWidgets.QPushButton(self.centralwidget) self.startButt.setGeometry(QtCore.QRect(30, 90, 90, 45)) self.startButt.setStyleSheet( "QPushButton {background-color: gainsboro; height: 45px; width: 90px; border-radius: 22px; border: 1px solid grey;}" "QPushButton:pressed {background-color: silver; height: 45px; width: 90px; border-radius: 22px; border: 1px solid dimgrey;}" ) self.startButt.setObjectName("startButt") self.startButt.setIcon(QtGui.QIcon("pushbutt/ziconpush7.png")) self.startButt.setIconSize(QtCore.QSize(90, 90)) self.startButt.clicked.connect(self.clicked_startMeasures) self.stopButt = QtWidgets.QPushButton(self.centralwidget) self.stopButt.setGeometry(QtCore.QRect(30, 150, 90, 45)) self.stopButt.setStyleSheet( "QPushButton {background-color: gainsboro; height: 45px; width: 90px; border-radius: 22px; border: 1px solid grey;}" "QPushButton:pressed {background-color: silver; height: 45px; width: 90px; border-radius: 22px; border: 1px solid dimgrey;}" ) self.stopButt.setObjectName("stopButt") self.stopButt.setIcon(QtGui.QIcon("pushbutt/iconpush10.png")) self.stopButt.setIconSize(QtCore.QSize(90, 90)) self.stopButt.clicked.connect(self.clicked_stop_clear) Free.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(Free) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 18)) self.menubar.setObjectName("menubar") Free.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(Free) self.statusbar.setObjectName("statusbar") Free.setStatusBar(self.statusbar) self.retranslateUi(Free) QtCore.QMetaObject.connectSlotsByName(Free) def retranslateUi(self, Free): _translate = QtCore.QCoreApplication.translate Free.setWindowTitle(_translate("Free", "Free peakload")) self.freetitlelabel.setText( _translate( "Free", "<html><head/><body><p><span style=\" font-size:12pt;\">FREE PEAK LOAD</span></p></body></html>" )) self.currentWeightlabel.setText("Current weight") self.currentpeakloadlabel.setText("Peakload") def clicked_startMeasures(self): t = Thread(target=self.connect_F) t.start() def clicked_stop_clear(self): d = Thread(target=self.disconnect) d.start() def connect_F(self): portName = "" str2 = "" ports = list(serial.tools.list_ports.comports()) for p in ports: if portName == '': int1 = 0 while int1 <= 20: if "USB Serial Device" in p[1]: str2 = str(int1) portName = "COM" + str2 if "USB Serial Device" in p[1] and portName in p[1]: self.displaylabel_F.setText("Found Sensor on " + portName) print("Found Sensor on " + portName) time.sleep(2) self.displaylabel_F.setText("") break int1 = int1 + 1 else: break if portName == '': self.displaylabel_F.setText("No Sensor found") raise IOError("No Sensor found") time.sleep(2) self.displaylabel_F.setText("") baudrate = 9600 ser = serial.Serial(portName, baudrate) ser_bytes = ser.readline() valueP1 = float(ser_bytes[0:len(ser_bytes) - 2].decode("utf-8")) while True: ser_bytes = ser.readline() valueP = float(ser_bytes[0:len(ser_bytes) - 2].decode("utf-8")) value = round(valueP - valueP1, 1) self.peakload = max(self.peakload, value) self.displayWeightlabel.setText(str(value)) self.displayPeakloadlabel.setText(str(self.peakload)) self.plot.update_bargraph(value, self.peakload) def disconnect(self): self.peakload = 0
class Ui_Option1(object): def setupUi(self, Option1): self.statexit = 0 self.peakload = 0 self.state = 0 self.picr1 = 0 self.picl1 = 0 self.picr2 = 0 self.picl2 = 0 self.clean = 0 self.arduino = 0 Option1.setObjectName("Option1") Option1.resize(1427, 969) Option1.move(488, 3) Option1.setWindowIcon(QtGui.QIcon("icons/logoapp702.ico")) self.centralwidget = QtWidgets.QWidget(Option1) self.centralwidget.setObjectName("centralwidget") self.plot = MplWidget(self.centralwidget) self.plot.setGeometry(QtCore.QRect(420, 71, 860, 881)) self.plot.setObjectName("plot") self.PeakLoadTitlelabel = QtWidgets.QLabel(self.centralwidget) self.PeakLoadTitlelabel.setGeometry(QtCore.QRect(30, 30, 201, 41)) font = QtGui.QFont() font.setPointSize(10) font.setWeight(65) self.PeakLoadTitlelabel.setFont(font) self.PeakLoadTitlelabel.setObjectName("PeakLoadTitlelabel") self.currentWeightlabel = QtWidgets.QLabel(self.centralwidget) self.currentWeightlabel.setGeometry(QtCore.QRect(161, 80, 110, 31)) self.currentWeightlabel.setObjectName("currentWeightlabel") self.displayWeightlabel = QtWidgets.QLabel(self.centralwidget) self.displayWeightlabel.setGeometry(QtCore.QRect(88 ,40 , 246, 200)) font = QtGui.QFont() font.setPointSize(32) font.setWeight(65) self.displayWeightlabel.setFont(font) self.displayWeightlabel.setAlignment(QtCore.Qt.AlignCenter) self.displayWeightlabel.setObjectName("displayWeightlabel") self.displaylabel_1 = QtWidgets.QLabel(self.centralwidget) self.displaylabel_1.setGeometry(QtCore.QRect(680, 35, 350, 40)) font = QtGui.QFont() font.setPointSize(14) font.setWeight(65) self.displaylabel_1.setFont(font) self.displaylabel_1.setAlignment(QtCore.Qt.AlignCenter) self.displaylabel_1.setObjectName("displaylabel_1") self.right1label = QtWidgets.QLabel(self.centralwidget) self.right1label.setGeometry(QtCore.QRect(45, 220, 110, 31)) self.right1label.setObjectName("right1label") self.picr1label = QtWidgets.QLabel(self.centralwidget) self.picr1label.setGeometry(QtCore.QRect(40, 250, 100, 41)) font = QtGui.QFont() font.setPointSize(14) font.setWeight(65) self.picr1label.setFont(font) self.picr1label.setAlignment(QtCore.Qt.AlignCenter) self.picr1label.setObjectName("picr1label") self.left1label = QtWidgets.QLabel(self.centralwidget) self.left1label.setGeometry(QtCore.QRect(175, 220, 110, 31)) self.left1label.setObjectName("left1label") self.picl1label = QtWidgets.QLabel(self.centralwidget) self.picl1label.setGeometry(QtCore.QRect(165, 250, 100, 41)) font = QtGui.QFont() font.setPointSize(14) font.setWeight(65) self.picl1label.setFont(font) self.picl1label.setAlignment(QtCore.Qt.AlignCenter) self.picl1label.setObjectName("picl1label") self.right2label = QtWidgets.QLabel(self.centralwidget) self.right2label.setGeometry(QtCore.QRect(45, 300, 110, 31)) self.right2label.setObjectName("right2label") self.picr2label = QtWidgets.QLabel(self.centralwidget) self.picr2label.setGeometry(QtCore.QRect(40, 330, 100, 41)) font = QtGui.QFont() font.setPointSize(14) font.setWeight(65) self.picr2label.setFont(font) self.picr2label.setAlignment(QtCore.Qt.AlignCenter) self.picr2label.setObjectName("picr2label") self.left2label = QtWidgets.QLabel(self.centralwidget) self.left2label.setGeometry(QtCore.QRect(175, 300, 110, 31)) self.left2label.setObjectName("left2label") self.picl2label = QtWidgets.QLabel(self.centralwidget) self.picl2label.setGeometry(QtCore.QRect(165, 330, 100, 41)) font = QtGui.QFont() font.setPointSize(14) font.setWeight(65) self.picl2label.setFont(font) self.picl2label.setAlignment(QtCore.Qt.AlignCenter) self.picl2label.setObjectName("picl2label") self.namelabel_1 = QtWidgets.QLabel(self.centralwidget) self.namelabel_1.setGeometry(QtCore.QRect(40, 840, 211, 30)) self.namelabel_1.setObjectName("namelabel_1") self.nameEdit_1 = QtWidgets.QPlainTextEdit(self.centralwidget) self.nameEdit_1.setGeometry(QtCore.QRect(130, 840, 131, 30)) self.nameEdit_1.setObjectName("nameEdit_1") self.handlabel_1 = QtWidgets.QLabel(self.centralwidget) self.handlabel_1.setGeometry(QtCore.QRect(40, 700, 90, 30)) self.handlabel_1.setObjectName("handlabel_1") self.handbox = QtWidgets.QComboBox(self.centralwidget) self.handbox.setGeometry(QtCore.QRect(130, 700, 131, 30)) self.handbox.setObjectName("handbox") self.handbox.addItems(['', 'Drag', 'Half crimp', 'Full crimp']) self.notelabel_1 = QtWidgets.QLabel(self.centralwidget) self.notelabel_1.setGeometry(QtCore.QRect(40, 750, 211, 30)) self.notelabel_1.setObjectName("notelabel_1") self.noteEdit_1 = QtWidgets.QPlainTextEdit(self.centralwidget) self.noteEdit_1.setGeometry(QtCore.QRect(130, 750, 131, 70)) self.noteEdit_1.setObjectName("noteEdit_1") self.startButt_1 = QtWidgets.QPushButton(self.centralwidget) self.startButt_1.setGeometry(QtCore.QRect(30, 90, 90, 45)) self.startButt_1.setStyleSheet("QPushButton {background-color: gainsboro; height: 45px; width: 90px; border-radius: 22px; border: 1px solid grey;}" "QPushButton:pressed {background-color: silver; height: 45px; width: 90px; border-radius: 22px; border: 1px solid dimgrey;}") self.startButt_1.setObjectName("startButt_1") self.startButt_1.setIcon(QtGui.QIcon("pushbutt/ziconpush7.png")) self.startButt_1.setIconSize(QtCore.QSize(90, 90)) self.startButt_1.clicked.connect(self.clicked_startMeasures) self.stopButt_1 = QtWidgets.QPushButton(self.centralwidget) self.stopButt_1.setGeometry(QtCore.QRect(30, 150, 90, 45)) self.stopButt_1.setStyleSheet("QPushButton {background-color: gainsboro; height: 45px; width: 90px; border-radius: 22px; border: 1px solid grey;}" "QPushButton:pressed {background-color: silver; height: 45px; width: 90px; border-radius: 22px; border: 1px solid dimgrey;}") self.stopButt_1.setObjectName("stopButt_1") self.stopButt_1.setIcon(QtGui.QIcon("pushbutt/iconpush10.png")) self.stopButt_1.setIconSize(QtCore.QSize(90, 90)) self.stopButt_1.clicked.connect(self.clicked_stop_clear) self.savebutt_1 = QtWidgets.QPushButton(self.centralwidget) self.savebutt_1.setGeometry(QtCore.QRect(30, 890, 90, 45)) self.savebutt_1.setStyleSheet("QPushButton {background-color: gainsboro; height: 45px; width: 90px; border-radius: 6px; border: 1px solid grey;}" "QPushButton:pressed {background-color: silver; height: 45px; width: 90px; border-radius: 6px; border: 1px solid dimgrey;}") self.savebutt_1.setObjectName("savebutt_1") self.savebutt_1.setIcon(QtGui.QIcon("pushbutt/ziconpush9.png")) self.savebutt_1.setIconSize(QtCore.QSize(90, 90)) self.savebutt_1.clicked.connect(self.clicked_saveMeasures) Option1.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(Option1) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 18)) self.menubar.setObjectName("menubar") Option1.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(Option1) self.statusbar.setObjectName("statusbar") Option1.setStatusBar(self.statusbar) self.retranslateUi(Option1) QtCore.QMetaObject.connectSlotsByName(Option1) def retranslateUi(self, Option1): _translate = QtCore.QCoreApplication.translate Option1.setWindowTitle(_translate("Option1", "peakload")) self.PeakLoadTitlelabel.setText(_translate("Option1", "<html><head/><body><p><span style=\" font-size:12pt;\">PEAK LOAD</span></p></body></html>")) self.right1label.setText(_translate("Option1", "<html><head/><body><p>Right hand 1</p></body></html>")) self.left1label.setText(_translate("Option1", "<html><head/><body><p>Left hand 1</p></body></html>")) self.right2label.setText(_translate("Option1", "<html><head/><body><p>Right hand 2</p></body></html>")) self.left2label.setText(_translate("Option1", "<html><head/><body><p>Left hand 2</p></body></html>")) self.namelabel_1.setText(_translate("Option1", "<html><head/><body><p>File name</p></body></html>")) self.handlabel_1.setText(_translate("Option1", "<html><head/><body><p>Holding</p></body></html>")) self.notelabel_1.setText(_translate("Option1", "<html><head/><body><p>Notes</p></body></html>")) self.currentWeightlabel.setText("Current weight") def clicked_startMeasures(self): a = Thread(target = self.connect) a.start() def clicked_stop_clear(self): b = Thread(target = self.disconnect) b.start() def clicked_saveMeasures(self): d = Thread(target = self.save) d.start() def connect(self): self.statexit = 0 portName = "" str2 = "" ports = list(serial.tools.list_ports.comports()) for p in ports: if portName == '': int1 = 0 while int1 <= 20: if "USB Serial Device" in p[1]: str2 = str(int1) portName = "COM" + str2 if "USB Serial Device" in p[1] and portName in p[1]: self.displaylabel_1.setText("Found Sensor on " + portName) time.sleep(2) self.displaylabel_1.setText("") break int1 = int1 + 1 else: break if portName == '': self.displaylabel_1.setText("No Sensor found") time.sleep(2) self.displaylabel_1.setText("") raise IOError("No Sensor found") baudrate = 9600 ser = serial.Serial(portName, baudrate) self.displaylabel_1.setText("WAIT...") ser_bytes = ser.readline() valueP1 = float(ser_bytes[0:len(ser_bytes)-2].decode("utf-8")) time.sleep(1) while self.statexit == 0: ser_bytes = ser.readline() valueP = float(ser_bytes[0:len(ser_bytes)-2].decode("utf-8")) value = round(valueP - valueP1, 1) self.peakload = max(self.peakload, value) self.displayWeightlabel.setText(str(value)) self.plot.update_bargraph(value, self.peakload) if(self.state == 0) and(value < 5): self.displaylabel_1.setText("RIGHT HAND") elif(self.state == 0) and(value > 5): self.state = 1 elif(self.state == 1) and(value < 0.3): time.sleep(1) self.picr1 = self.peakload picr1 = str(self.picr1) self.picr1label.setText(picr1) self.peakload = 0 self.state = 2 self.displaylabel_1.setText("LEFT HAND") elif(self.state == 2) and(value > 5): self.state = 3 elif(self.state == 3) and(value < 0.3): time.sleep(1) self.picl1 = self.peakload picl1 = str(self.picl1) self.picl1label.setText(picl1) self.peakload = 0 self.state = 4 self.displaylabel_1.setText("RIGHT HAND") elif(self.state == 4) and(value > 5): self.state = 5 elif(self.state == 5) and(value < 0.3): time.sleep(1) self.picr2 = self.peakload picr2 = str(self.picr2) self.picr2label.setText(picr2) self.peakload = 0 self.state = 6 self.displaylabel_1.setText("LEFT HAND") elif(self.state == 6) and(value > 5): self.state = 7 elif(self.state == 7) and(value < 0.3): time.sleep(1) self.picl2 = self.peakload picl2 = str(self.picl2) self.picl2label.setText(picl2) self.peakload = 0 self.state = 8 elif(self.state == 8): if(self.clean == 0): self.displaylabel_1.setText("peak load test is finished") self.plot.canvas.axes.clear() self.plot.x.clear() self.plot.y.clear() break def disconnect(self): self.state = 0 self.peakload = 0 self.picr1 = 0 self.picl1 = 0 self.picr2 = 0 self.picl2 = 0 self.statexit = 1 self.plot.canvas.axes.clear() self.plot.x.clear() self.plot.y.clear() self.plot.canvas.axes.set_ylim(0,110) self.plot.canvas.draw() self.displaylabel_1.setText("reset peakload") self.picr1label.setText("") self.picl1label.setText("") self.picr2label.setText("") self.picl2label.setText("") time.sleep(2.5) self.displaylabel_1.setText("") def save(self): self.name = self.nameEdit_1.toPlainText() self.notes = self.noteEdit_1.toPlainText() self.hand = str(self.handbox.currentText()) picloadr = self.picr1, self.picr2 picloadl = self.picl1, self.picl2 self.clean = 1 dates = datetime.date.today() df = pd.read_csv("{0}/{0}%s.csv".format(self.name)%dates) data1 = [self.notes] df["peakloadnotes"] = data1 df.to_csv("{0}/{0}%s.csv".format(self.name)%dates, header = True, index = False, na_rep = "") df = pd.read_csv("{0}/{0}%s.csv".format(self.name)%dates) data2 = [self.hand] df["peakloadstyle"] = data2 df.to_csv("{0}/{0}%s.csv".format(self.name)%dates, header = True, index = False, na_rep = "") df = pd.read_csv("{0}/{0}%s.csv".format(self.name)%dates) data3 = [picloadr] df["peakloadright"] = data3 df.to_csv("{0}/{0}%s.csv".format(self.name)%dates, header = True, index = False, na_rep = "") df = pd.read_csv("{0}/{0}%s.csv".format(self.name)%dates) data4 = [picloadl] df["peakloadleft"] = data4 df.to_csv("{0}/{0}%s.csv".format(self.name)%dates, header = True, index = False, na_rep = "") ctypes.windll.user32.MessageBoxW(0, "peakload data saved", "Saved", 0x00000000) self.nameEdit_1.clear() self.noteEdit_1.clear() self.handbox.clear()