From 14a1ed561791fbc2357cb37206a1c0e73a97abc2 Mon Sep 17 00:00:00 2001 From: tao_z <tzj0429@163.com> Date: Wed, 20 Jul 2022 22:56:23 +0800 Subject: [PATCH] 调整支持HEX烧录功能 --- USBCAN.py | 32 ++++++++++++++++++++------------ 1 files changed, 20 insertions(+), 12 deletions(-) diff --git a/USBCAN.py b/USBCAN.py index 183b849..42ee2d2 100644 --- a/USBCAN.py +++ b/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, -- Gitblit v1.8.0