| | |
| | | self.sendQueue = Queue() # can layer send queue |
| | | self.CANtoIsoTPQueue = Queue() # CAN --> isotp |
| | | self.shifter = ShifterClass() |
| | | self.Vehicle = VehicleClass() |
| | | self.devicedescription = HardwreDevice() |
| | | self.windows = QtWidgets.QMainWindow() |
| | | self.UI = Ui_MainWindow() |
| | | self.UI.setupUi(window) |
| | | self._dev_info = None |
| | | self.dbc = cantools.database.load_file("DBC/SX7H.dbc") |
| | | self.can_thread = threading.Thread(target=self.can_thread) |
| | | self.TestPresentTimer = QtCore.QTimer() |
| | | self.TestPresentTimer.timeout.connect(self.creat_testpresentReq) |
| | |
| | | msg.channel = 0 |
| | | msg.data = [0x02, 0x3e, 0x80, 0, 0, 0, 0, 0] |
| | | msg.is_extended_id = False |
| | | msg.is_remote_frame = False |
| | | self._usbcan.send(msg) |
| | | |
| | | def send_VehiclePosition(self, data=[]): |
| | | msg = Message() |
| | | msg.arbitration_id = 0x10 |
| | | msg.dlc = 8 |
| | | msg.channel = 0 |
| | | msg.data = data |
| | | msg.is_extended_id = False |
| | | msg.is_remote_frame = False |
| | | self._usbcan.send(msg) |
| | | |
| | | def open_close(self): |
| | |
| | | self.UI.pushButton_41.setStyleSheet( |
| | | Style_dic[self.shifter.UnlockButton]) |
| | | self.UI.pushButton_40.setStyleSheet(Style_dic[self.shifter.Pbutton]) |
| | | #X2 |
| | | self.UI.pushButton_37.setStyleSheet( |
| | | Style_dic[self.shifter.position == 2]) |
| | | #X1 |
| | | self.UI.pushButton_38.setStyleSheet( |
| | | Style_dic[self.shifter.position == 3]) |
| | | #Z |
| | | self.UI.pushButton_30.setStyleSheet( |
| | | Style_dic[self.shifter.position == 0]) |
| | | #Y1 |
| | | self.UI.pushButton_33.setStyleSheet( |
| | | Style_dic[self.shifter.position == 4]) |
| | | #Y2 |
| | | self.UI.pushButton_34.setStyleSheet( |
| | | Style_dic[self.shifter.position == 5]) |
| | | #M |
| | | self.UI.pushButton_39.setStyleSheet( |
| | | Style_dic[self.shifter.position == 0xe]) |
| | | #M+ |
| | | self.UI.pushButton_35.setStyleSheet( |
| | | Style_dic[self.shifter.position == 0xd]) |
| | | #M- |
| | | self.UI.pushButton_36.setStyleSheet( |
| | | Style_dic[self.shifter.position == 0xc]) |
| | | self.UI.pushButton_42.setStyleSheet( |
| | | ColorStyle_dic[self.Vehicle.ShiftLeverPos == "P"]) |
| | | self.UI.pushButton_43.setStyleSheet( |
| | | ColorStyle_dic[self.Vehicle.ShiftLeverPos == "D"]) |
| | | self.UI.pushButton_44.setStyleSheet( |
| | | ColorStyle_dic[self.Vehicle.ShiftLeverPos == "N"]) |
| | | self.UI.pushButton_45.setStyleSheet( |
| | | ColorStyle_dic[self.Vehicle.ShiftLeverPos == "R"]) |
| | | |
| | | def _updateRootList(self): |
| | | _dataSize = self.msgQueue.qsize() |
| | |
| | | for i in range(_dataSize): |
| | | receiveNum += 1 |
| | | msg = self.msgQueue.get() |
| | | # self.shifter.FramUnpack(msg.arbitration_id, msg.data) |
| | | if msg.arbitration_id == 0x420: |
| | | self.shifter.FramUnpack(msg.arbitration_id, msg.data) |
| | | resp_data = self.Vehicle.ShiftLogic(self.shifter) |
| | | self.send_VehiclePosition(resp_data) |
| | | formateddata.append(self._formatMsgData( |
| | | receiveNum, msg, True)) # return a data list |
| | | self._insertDataSmooth(data=formateddata, datasize=_dataSize) |
| | | # self.dispShiftstatus() |
| | | self.dispShiftstatus() |
| | | |
| | | def _insertDataSmooth(self, data, datasize): |
| | | # row = 6-datasize |