From 80cd2027b36af5866a7a82005afc367859e73b47 Mon Sep 17 00:00:00 2001 From: tao_z <tzj0429@163.com> Date: Sat, 18 Jun 2022 17:16:17 +0800 Subject: [PATCH] 更新DTC测试功能 --- Shifter.py | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Shifter.py b/Shifter.py index c920bd0..56dbb40 100644 --- a/Shifter.py +++ b/Shifter.py @@ -1,4 +1,3 @@ - from ShifterDefine import * import struct from udsoncan import DidCodec @@ -11,8 +10,7 @@ def __init__(self, string_len=None): if string_len is None: - raise ValueError( - "You must provide a length to the AsciiCodec") + raise ValueError("You must provide a length to the AsciiCodec") self.string_len = string_len def encode(self, string_ascii): @@ -37,6 +35,7 @@ class PartNumberCodec(DidCodec): + def __init__(self, byte_len=None): if byte_len is None: raise ValueError( @@ -69,6 +68,7 @@ class PartNumberVersionCodec(DidCodec): + def __init__(self, byte_len=None): if byte_len is None: raise ValueError( @@ -116,7 +116,7 @@ data = bytearray() for i in range(self.byte_len): - part = string_ascii[2 * i: 2 * i + 2] + part = string_ascii[2 * i:2 * i + 2] data.append(int(part, 16)) return data @@ -132,7 +132,11 @@ return self.byte_len +UnlockButton_dic = {"Unlock Button No Request": 0, "Unlock Button Request": 1} + + class ShifterClass(): + def __init__(self): self.position = ShifterPosition(0) self.Pbutton = 0 @@ -166,9 +170,14 @@ 0x211B: PartNumberCodec(1), 0x211c: PartNumberCodec(2), 0xF197: AsciiCodec(8), - 0xF15a: AsciiCodec(10), 0xF15B: AsciiCodec(10), + 0xDF00: PartNumberCodec(1), + 0xDF01: PartNumberCodec(2), + 0xDF02: PartNumberCodec(1), + 0xDF03: PartNumberCodec(3), + 0xDF04: PartNumberCodec(3), + 0x1000: PartNumberCodec(2), } try: config = configparser.ConfigParser() @@ -182,13 +191,20 @@ self.canid.phy_rxId = 0x742 self.canid.fun_rxId = 0x7df self.canid.normalid = 0x420 - self.dbc = DBC("DBC/SX7H.dbc") + self.dbc = DBC("DBC/DFLZM.dbc") def FramUnpack(self, id=0x420, frame=[]): data = [] - data.append(' '.join(['0x' + - '{:0<2x}'.format(a).upper() for a in list(frame)])) - unpackframe = self.dbc.analyzer(msgid=0x420, data=data) - self.position = ShifterPosition(unpackframe[4]['value']['raw']) + data.append(' '.join( + ['{:0>2x}'.format(a).upper() for a in list(frame)])) + # print(data) + unpackframe = self.dbc.analyzer(msgid=0x420, data=str(data[0])) + # print(unpackframe[5]['value']['raw']) self.Pbutton = unpackframe[5]['value']['raw'] - self.UnlockButton = unpackframe[6]['value']['raw'] + print(unpackframe[5]["name"], unpackframe[5]['value']['raw']) + # print(unpackframe[6]['value']['raw']) + self.UnlockButton = unpackframe[4]['value']['raw'] + print(unpackframe[4]["name"], unpackframe[4]['value']['raw']) + # print(unpackframe[4]['value']['raw']) + self.position = unpackframe[7]['value']['raw'] + print(unpackframe[7]["name"], unpackframe[7]['value']['raw']) -- Gitblit v1.8.0