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