tao_z
2022-07-20 14a1ed561791fbc2357cb37206a1c0e73a97abc2
USBCAN.py
@@ -288,12 +288,12 @@
            '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        # 终端Handler
        consoleHandler = logging.StreamHandler()
        consoleHandler.setLevel(logging.ERROR)
        consoleHandler.setLevel(logging.DEBUG)
        # 文件Handler
        fileHandler = logging.FileHandler('./log/USBCAN.log',
                                          mode='a',
                                          encoding='UTF-8')
        fileHandler.setLevel(logging.INFO)
        fileHandler.setLevel(logging.DEBUG)
        consoleHandler.setFormatter(formatter)
        fileHandler.setFormatter(formatter)
@@ -304,6 +304,8 @@
        self.device = device_type
        self.device_index = device_index
        self.channel = can_index
        self.timestamp_start = None
        self.laststamp = None
        Timing0, Timing1 = TIMING_DICT[bitrate]
@@ -407,7 +409,7 @@
        raw_message.TimeStamp = (c_uint)(0)
        raw_message.TimeFlag = (c_ubyte)(0)
        raw_message.SendType = (c_ubyte)(1)
        raw_message.RemoteFlag = (c_ubyte)(msg.is_remote_frame)
        raw_message.RemoteFlag = False
        raw_message.ExternFlag = (c_ubyte)(msg.is_extended_id)
        raw_message.DataLen = (c_ubyte)(msg.dlc)
        raw_message.Data = (c_ubyte * 8)(*[c_ubyte(c) for c in msg.data])
@@ -429,17 +431,23 @@
        if rtn == 0xFFFFFFFF or rtn == 0:
            return None, False
        else:
            if self.timestamp_start == None:
                self.laststamp = raw_message[0].TimeStamp
                self.timestamp_start = self.laststamp
            for i in range(rtn):
                msg.append(
                    Message(
                        timestamp=raw_message[i].TimeStamp
                        if raw_message[i].TimeFlag else 0.0,
                        arbitration_id=raw_message[i].ID,
                        is_remote_frame=raw_message[i].RemoteFlag,
                        channel=0,
                        extended_id=raw_message[i].ExternFlag,
                        data=raw_message[i].Data,
                    ))
                    Message(timestamp=(
                        (raw_message[i].TimeStamp - self.timestamp_start) /
                        1000000) if raw_message[i].TimeFlag else 0.0,
                            arbitration_id=raw_message[i].ID,
                            is_remote_frame=raw_message[i].RemoteFlag,
                            channel=0,
                            extended_id=raw_message[i].ExternFlag,
                            data=raw_message[i].Data,
                            is_error_frame=False))
                # timestamp = raw_message[i].TimeStamp if raw_message[
                #     i].TimeFlag else 0.0,
                # print(timestamp)
            return (msg, rtn)
    def ListeningMsg(self, connectRet, needClose, msgQueue: Queue,