diff --git a/PyNetAssistant/PyNet.exe b/PyNetAssistant/PyNet.exe index 9195788..f090e79 100644 Binary files a/PyNetAssistant/PyNet.exe and b/PyNetAssistant/PyNet.exe differ diff --git a/PyNetAssistant/PyNet.ini b/PyNetAssistant/PyNet.ini index 8cacb7a..149f789 100644 --- a/PyNetAssistant/PyNet.ini +++ b/PyNetAssistant/PyNet.ini @@ -1,7 +1,7 @@ [UI_config] port = 9000 hex_send = 0 -hex_receive = 0 +hex_receive = 2 add_date = 0 cr_lf = 2 auto_sav_log = 2 @@ -12,105 +12,105 @@ funcode = F4 position = 5 [DisHex_config] -row00 = 浓度|0|4|1|2 -row01 = 测试|1|3|1|2 -row02 = ||||0 -row03 = ||||0 -row04 = ||||0 -row05 = ||||0 -row06 = ||||0 -row07 = ||||0 -row08 = ||||0 -row09 = ||||0 -row10 = ||||0 -row11 = ||||0 -row12 = ||||0 -row13 = ||||0 -row14 = ||||0 -row15 = ||||0 -row16 = ||||0 -row17 = ||||0 -row18 = ||||0 -row19 = ||||0 -row20 = ||||0 -row21 = ||||0 -row22 = ||||0 -row23 = ||||0 -row24 = ||||0 -row25 = ||||0 -row26 = ||||0 -row27 = ||||0 -row28 = ||||0 -row29 = ||||0 -row30 = ||||0 -row31 = ||||0 -row32 = ||||0 -row33 = ||||0 -row34 = ||||0 -row35 = ||||0 -row36 = ||||0 -row37 = ||||0 -row38 = ||||0 -row39 = ||||0 -row40 = ||||0 -row41 = ||||0 -row42 = ||||0 -row43 = ||||0 -row44 = ||||0 -row45 = ||||0 -row46 = ||||0 -row47 = ||||0 -row48 = ||||0 -row49 = ||||0 -row50 = ||||0 -row51 = ||||0 -row52 = ||||0 -row53 = ||||0 -row54 = ||||0 -row55 = ||||0 -row56 = ||||0 -row57 = ||||0 -row58 = ||||0 -row59 = ||||0 -row60 = ||||0 -row61 = ||||0 -row62 = ||||0 -row63 = ||||0 -row64 = ||||0 -row65 = ||||0 -row66 = ||||0 -row67 = ||||0 -row68 = ||||0 -row69 = ||||0 -row70 = ||||0 -row71 = ||||0 -row72 = ||||0 -row73 = ||||0 -row74 = ||||0 -row75 = ||||0 -row76 = ||||0 -row77 = ||||0 -row78 = ||||0 -row79 = ||||0 -row80 = ||||0 -row81 = ||||0 -row82 = ||||0 -row83 = ||||0 -row84 = ||||0 -row85 = ||||0 -row86 = ||||0 -row87 = ||||0 -row88 = ||||0 -row89 = ||||0 -row90 = ||||0 -row91 = ||||0 -row92 = ||||0 -row93 = ||||0 -row94 = ||||0 -row95 = ||||0 -row96 = ||||0 -row97 = ||||0 -row98 = ||||0 +row00 = 浓度|0|2|1|3F10|2 +row01 = 测试|1|3|1|105678|2 +row02 = |||||0 +row03 = |||||0 +row04 = |||||0 +row05 = |||||0 +row06 = |||||0 +row07 = |||||0 +row08 = |||||0 +row09 = |||||0 +row10 = |||||0 +row11 = |||||0 +row12 = |||||0 +row13 = |||||0 +row14 = |||||0 +row15 = |||||0 +row16 = |||||0 +row17 = |||||0 +row18 = |||||0 +row19 = |||||0 +row20 = |||||0 +row21 = |||||0 +row22 = |||||0 +row23 = |||||0 +row24 = |||||0 +row25 = |||||0 +row26 = |||||0 +row27 = |||||0 +row28 = |||||0 +row29 = |||||0 +row30 = |||||0 +row31 = |||||0 +row32 = |||||0 +row33 = |||||0 +row34 = |||||0 +row35 = |||||0 +row36 = |||||0 +row37 = |||||0 +row38 = |||||0 +row39 = |||||0 +row40 = |||||0 +row41 = |||||0 +row42 = |||||0 +row43 = |||||0 +row44 = |||||0 +row45 = |||||0 +row46 = |||||0 +row47 = |||||0 +row48 = |||||0 +row49 = |||||0 +row50 = |||||0 +row51 = |||||0 +row52 = |||||0 +row53 = |||||0 +row54 = |||||0 +row55 = |||||0 +row56 = |||||0 +row57 = |||||0 +row58 = |||||0 +row59 = |||||0 +row60 = |||||0 +row61 = |||||0 +row62 = |||||0 +row63 = |||||0 +row64 = |||||0 +row65 = |||||0 +row66 = |||||0 +row67 = |||||0 +row68 = |||||0 +row69 = |||||0 +row70 = |||||0 +row71 = |||||0 +row72 = |||||0 +row73 = |||||0 +row74 = |||||0 +row75 = |||||0 +row76 = |||||0 +row77 = |||||0 +row78 = |||||0 +row79 = |||||0 +row80 = |||||0 +row81 = |||||0 +row82 = |||||0 +row83 = |||||0 +row84 = |||||0 +row85 = |||||0 +row86 = |||||0 +row87 = |||||0 +row88 = |||||0 +row89 = |||||0 +row90 = |||||0 +row91 = |||||0 +row92 = |||||0 +row93 = |||||0 +row94 = |||||0 +row95 = |||||0 +row96 = |||||0 +row97 = |||||0 +row98 = |||||0 [Quick_config] log_time = 10 diff --git a/PyNetAssistant/PyNet.py b/PyNetAssistant/PyNet.py index c0e2611..6c4f3f5 100644 --- a/PyNetAssistant/PyNet.py +++ b/PyNetAssistant/PyNet.py @@ -51,7 +51,9 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant): self.pushButton_closeNet.setEnabled(False) # 发送框、文本框清除 - self.textEditReceive.setText("") + self.textEditReceive.setPlainText("") + self.textEditReceive.setMaximumBlockCount(5000) + self.textEditSend.setText("") self.get_all_local_ips() @@ -77,6 +79,8 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant): # 清除接收按钮 self.pushButtonClearReceive.clicked.connect(self.receive_data_clear) + # + # 定时发送数据 self.timer_send = QTimer() self.timer_send.timeout.connect(self.data_send) @@ -190,15 +194,22 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant): recv_addr = recv_data[1][0] + ':' + str(recv_data[1][1]) if not self.is_in_comboBox_channel(recv_addr): self.comboBox_channel.addItem(recv_addr) - + # 在接收窗口显示 + # 获取到text光标 + textCursor = self.textEditReceive.textCursor() + # 滚动到底部 + textCursor.movePosition(textCursor.End) + # 设置光标到text中去 + self.textEditReceive.setTextCursor(textCursor) + #选择要显示的通道 if recv_addr == self.comboBox_channel.currentText() or self.comboBox_channel.currentText() == "ALL": #self.textEditReceive.insertPlainText('<' + recv_addr+ '> ' ) if self.checkBoxAddDate.isChecked(): nowTime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f") nowTime = nowTime[:-3] - #self.textEditReceive.insertPlainText(nowTime + " ") - self.add_line_to_textedit(nowTime + " ") + self.textEditReceive.insertPlainText(nowTime + " ") + #self.add_line_to_textedit(nowTime + " ") # HEX显示数据 if self.checkBoxHexReceive.checkState(): # line_utf8_bytes = line_utf8.hex() # 编码为 UTF-8 字节串 @@ -206,11 +217,9 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant): # for byte in line_utf8_bytes: # out_s += '{:02X} '.format(byte) # 使用大写字母 X - - # self.textEditReceive.insertPlainText(out_s) - # self.textEditReceive.insertPlainText('\r\n') - self.add_line_to_textedit('<' + recv_addr + '> ' + out_s) + self.textEditReceive.insertPlainText('<' + recv_addr + '> ' + out_s) + #self.add_line_to_textedit('<' + recv_addr + '> ' + out_s) # 解析数据 self.Disp_hex_receive(line_utf8) @@ -218,20 +227,12 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant): # ASCII显示数据 else: #print("解码前",datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")) - #self.textEditReceive.insertPlainText(line_utf8) - self.add_line_to_textedit('<' + recv_addr + '> ' + line_utf8) + self.textEditReceive.insertPlainText('<' + recv_addr + '> ' + line_utf8) + #self.add_line_to_textedit('<' + recv_addr + '> ' + line_utf8) #print("解码数据",datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")) # 接收换行 if self.checkBoxCRLF.isChecked(): self.textEditReceive.insertPlainText('\r\n') - - # 获取到text光标 - textCursor = self.textEditReceive.textCursor() - # 滚动到底部 - textCursor.movePosition(textCursor.End) - # 设置光标到text中去 - self.textEditReceive.setTextCursor(textCursor) - # 统计接收字符的数量 self.data_num_received += num self.lineEditReceiveNum.setText(str(self.data_num_received)) @@ -247,8 +248,6 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant): sav_name = datetime.datetime.now().strftime("%Y-%m-%d") + '.log' sav_str = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%f")[:23] + " " + out_s + "\r\n" - - else: line = line_utf8.split(',') if len(line) == 2: @@ -314,11 +313,13 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant): for i in range(0, len(input_s)): out_s = out_s + '{:02X}'.format(input_s[i]) + ' ' print(out_s) - self.add_line_to_textedit(out_s) + self.textEditReceive.insertPlainText(out_s) + #self.add_line_to_textedit(out_s) # ASCII接收显示 else: - self.add_line_to_textedit(input_s.decode('utf-8')) + self.textEditReceive.insertPlainText(input_s.decode('utf-8')) + #self.add_line_to_textedit(input_s.decode('utf-8')) # 接收换行 if self.checkBoxCRLF.isChecked(): @@ -425,9 +426,12 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant): start = int(self.tableWidget.item(i, 1).text()) num = int(self.tableWidget.item(i, 2).text()) scale = int(self.tableWidget.item(i, 3).text()) - value = int(hexdata[start*2:(start+num)*2],16)/scale - item = QTableWidgetItem(str(value)) + hex_str = hexdata[start*2:(start+num)*2] + item = QTableWidgetItem(hex_str) self.tableWidget.setItem(i, 4, item) + value = int(hex_str,16)/scale + item = QTableWidgetItem(str(value)) + self.tableWidget.setItem(i, 5, item) except Exception as e: print(e) pass diff --git a/PyNetAssistant/PyNetUi.py b/PyNetAssistant/PyNetUi.py index 1a3b0e4..54f2f89 100644 --- a/PyNetAssistant/PyNetUi.py +++ b/PyNetAssistant/PyNetUi.py @@ -207,7 +207,7 @@ class Ui_UartAssistant(object): self.tab1.setObjectName("tab1") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab1) self.verticalLayout_2.setObjectName("verticalLayout_2") - self.textEditReceive = QtWidgets.QTextEdit(self.tab1) + self.textEditReceive = QtWidgets.QPlainTextEdit(self.tab1) self.textEditReceive.setSizeIncrement(QtCore.QSize(0, 0)) self.textEditReceive.setObjectName("textEditReceive") self.verticalLayout_2.addWidget(self.textEditReceive) @@ -221,7 +221,7 @@ class Ui_UartAssistant(object): self.tableWidget = QtWidgets.QTableWidget(self.tab2) self.tableWidget.setGridStyle(QtCore.Qt.SolidLine) self.tableWidget.setRowCount(10) - self.tableWidget.setColumnCount(5) + self.tableWidget.setColumnCount(6) self.tableWidget.setObjectName("tableWidget") item = QtWidgets.QTableWidgetItem() item.setBackground(QtGui.QColor(172, 172, 172)) @@ -235,8 +235,10 @@ class Ui_UartAssistant(object): item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(3, item) item = QtWidgets.QTableWidgetItem() - item.setBackground(QtGui.QColor(172, 172, 172)) self.tableWidget.setHorizontalHeaderItem(4, item) + item = QtWidgets.QTableWidgetItem() + item.setBackground(QtGui.QColor(172, 172, 172)) + self.tableWidget.setHorizontalHeaderItem(5, item) self.tableWidget.horizontalHeader().setCascadingSectionResizes(False) self.tableWidget.horizontalHeader().setDefaultSectionSize(50) self.tableWidget.horizontalHeader().setMinimumSectionSize(20) @@ -398,6 +400,8 @@ class Ui_UartAssistant(object): item = self.tableWidget.horizontalHeaderItem(3) item.setText(_translate("UartAssistant", "scale")) item = self.tableWidget.horizontalHeaderItem(4) + item.setText(_translate("UartAssistant", "hex")) + item = self.tableWidget.horizontalHeaderItem(5) item.setText(_translate("UartAssistant", "value")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab2), _translate("UartAssistant", "解析")) self.groupBox_7.setTitle(_translate("UartAssistant", "选择通道")) diff --git a/PyNetAssistant/PyNetUi.ui b/PyNetAssistant/PyNetUi.ui index 56fddbb..de1f03f 100644 --- a/PyNetAssistant/PyNetUi.ui +++ b/PyNetAssistant/PyNetUi.ui @@ -494,7 +494,7 @@ - + 0 @@ -525,7 +525,7 @@ 10 - 5 + 6 false @@ -602,6 +602,11 @@ scale + + + hex + + value