1
+ import pytest
2
+ import canmatrix .formats
3
+
4
+
5
+ def test_decode_from_dbc ():
6
+ cm = canmatrix .formats .loadp ("test_frame_decoding.dbc" , flatImport = True )
7
+ # 001#8d00100100820100
8
+ frameData1 = bytes ([141 , 0 , 16 , 1 , 0 , 130 , 1 , 0 ])
9
+
10
+ # 002#0C00057003CD1F83
11
+ frameData2 = bytes ([12 , 0 , 5 , 112 , 3 , 205 , 31 , 131 ])
12
+
13
+ frame1 = cm .frameById (1 )
14
+ decoded1 = frame1 .decode (frameData1 )
15
+ assert decoded1 ["sig0" ] == 1
16
+ assert decoded1 ["sig1" ] == 35
17
+ assert decoded1 ["sig2" ] == 0
18
+ assert decoded1 ["sig3" ] == 2048
19
+ assert decoded1 ["sig4" ] == 256
20
+ assert decoded1 ["sig5" ] == 1
21
+ assert decoded1 ["sig6" ] == 0
22
+ assert decoded1 ["sig7" ] == 520
23
+ assert decoded1 ["sig8" ] == 0
24
+ assert decoded1 ["sig9" ] == 0
25
+ assert decoded1 ["sig10" ] == 0
26
+
27
+ frame2 = cm .frameById (2 )
28
+ decoded2 = frame2 .decode (frameData2 )
29
+ assert decoded2 ["secSig1" ] == 0
30
+ assert decoded2 ["secSig2" ] == 0
31
+ assert decoded2 ["secSig3" ] == 0
32
+ assert decoded2 ["secSig4" ] == 2
33
+ assert decoded2 ["secSig5" ] == 0
34
+ assert decoded2 ["secSig6" ] == 0
35
+ assert decoded2 ["secSig7" ] == 0
36
+ assert decoded2 ["secSig8" ] == 3
37
+ assert decoded2 ["secSig9" ] == 1
38
+ assert decoded2 ["secSig10" ] == 1280
39
+ assert decoded2 ["secSig11" ] == - 144
40
+ assert decoded2 ["secSig12" ] == 12
0 commit comments