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测试功能 --- dbc.py | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/dbc.py b/dbc.py index 3bb643a..d6e0f02 100644 --- a/dbc.py +++ b/dbc.py @@ -1,6 +1,7 @@ # reference: https://github.com/ebroecker/canmatrix # this script translates dbc-files to list data +from pickle import FALSE import sys import os import logging @@ -150,7 +151,7 @@ float_factory = defaultFloatFactory startBit = attr.ib(type=int, default=0) size = attr.ib(type=int, default=0) - is_little_endian = attr.ib(type=bool, default=True) + is_little_endian = attr.ib(type=bool, default=FALSE) is_signed = attr.ib(type=bool, default=True) offset = attr.ib(converter=float_factory, default=float_factory(0.0)) factor = attr.ib(converter=float_factory, default=float_factory(1.0)) @@ -396,6 +397,7 @@ unit=temp.group(10), receiver=receiver, **extras) + print(temp.group(4), temp.group(2)) if not tempSig.is_little_endian: # startbit of motorola coded signals are MSB in dbc tempSig.setStartbit(int(temp.group(2)), @@ -583,7 +585,7 @@ dataList = data.strip().split(' ') _startbit = signal.startBit _bitsize = signal.size - _little = signal.is_little_endian # (1: Intel, 0: Motorola) + _little = 0 #signal.is_little_endian # (1: Intel, 0: Motorola) _byteSize = math.ceil((signal.size + _startbit % 8) / 8) _startByte = math.floor(_startbit / 8) phyvalue = 0 @@ -632,8 +634,8 @@ if __name__ == '__main__': testDbc = DBC("DBC/DFLZM.dbc") - abc = testDbc.analyzer(msgid=1056, data='40 01 C8 00 FF 00 00 00') + abc = testDbc.analyzer(msgid=1056, data='00 0A 30 C0 00 00 00 00') print(abc) - print(abc[5]["name"]) - print(abc[6]["name"]) - print(abc[4]["name"]) + print(abc[5]["name"], abc[5]["value"]['raw']) + print(abc[7]["name"], abc[7]["value"]['raw']) + print(abc[4]["name"], abc[4]["value"]['raw']) -- Gitblit v1.8.0