From ada7b40da88974c6f4596c7c9d1317eb19095a0e Mon Sep 17 00:00:00 2001 From: tao_z <tzj0429@163.com> Date: Sun, 29 May 2022 23:26:03 +0800 Subject: [PATCH] 新增bootloader界面以及函数 --- Shifter.py | 50 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 38 insertions(+), 12 deletions(-) diff --git a/Shifter.py b/Shifter.py index fb8f852..c920bd0 100644 --- a/Shifter.py +++ b/Shifter.py @@ -4,6 +4,7 @@ from udsoncan import DidCodec import configparser +from dbc import * class AsciiCodec(DidCodec): @@ -138,21 +139,36 @@ self.UnlockButton = 0 self.Voltage = 0 self.canid = ShifterCANID() + self.did_config = { + 0x2100: PartNumberCodec(1), + 0x2101: PartNumberCodec(1), + 0x2103: AsciiCodec(8), + 0x2104: AsciiCodec(4), + 0x2105: AsciiCodec(16), + 0x2106: PartNumberCodec(1), + 0xF187: AsciiCodec(16), + 0x2108: AsciiCodec(18), + 0xF18A: AsciiCodec(10), + 0x210B: BCDCodec(4), + 0xF18C: AsciiCodec(14), 0xF190: AsciiCodec(17), - 0xF1B1: AsciiCodec(9), - 0xF1B2: AsciiCodec(16), + 0xF193: AsciiCodec(26), + 0xF195: AsciiCodec(28), + 0x2110: AsciiCodec(8), + 0x2111: AsciiCodec(16), + 0x2112: BCDCodec(4), + 0x2113: BCDCodec(4), + 0x2116: PartNumberCodec(2), + 0x2118: PartNumberCodec(1), + 0x2119: PartNumberCodec(1), + 0x211A: PartNumberCodec(1), + 0x211B: PartNumberCodec(1), + 0x211c: PartNumberCodec(2), + 0xF197: AsciiCodec(8), - 0xF1D0: PartNumberCodec(4), - 0xF1D1: PartNumberVersionCodec(2), - 0xF1D2: PartNumberCodec(4), - 0xF1D3: PartNumberVersionCodec(2), - 0xF0DF: PartNumberVersionCodec(1), - - 0xF187: AsciiCodec(21), - 0xF195: AsciiCodec(16), - 0xF198: BCDCodec(8), - 0xF199: BCDCodec(4), + 0xF15a: AsciiCodec(10), + 0xF15B: AsciiCodec(10), } try: config = configparser.ConfigParser() @@ -166,3 +182,13 @@ self.canid.phy_rxId = 0x742 self.canid.fun_rxId = 0x7df self.canid.normalid = 0x420 + self.dbc = DBC("DBC/SX7H.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']) + self.Pbutton = unpackframe[5]['value']['raw'] + self.UnlockButton = unpackframe[6]['value']['raw'] -- Gitblit v1.8.0