Skip to content

Commit 3e70b14

Browse files
committed
add tests and dbc for frame decoding
1 parent d727635 commit 3e70b14

File tree

2 files changed

+85
-0
lines changed

2 files changed

+85
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
VERSION "created by canmatrix"
2+
3+
4+
NS_ :
5+
6+
BS_:
7+
8+
BU_:
9+
10+
11+
BO_ 1 testFrame1: 8 TEST_ECU
12+
SG_ sig0 : 1|2@0+ (1.0,0.0) [0|0] "" CCL_TEST
13+
SG_ sig1 : 7|6@0+ (1.0,0.0) [0|0] "" CCL_TEST
14+
SG_ sig2 : 15|11@0+ (1.0,0.0) [0|0] "" CCL_TEST
15+
SG_ sig3 : 20|12@0+ (1.0,0.0) [0|0] "" CCL_TEST
16+
SG_ sig4 : 24|9@0+ (1.0,0.0) [0|0] "" CCL_TEST
17+
SG_ sig5 : 50|3@0+ (1.0,0.0) [0|0] "" CCL_TEST
18+
SG_ sig6 : 53|3@0+ (1.0,0.0) [0|0] "" CCL_TEST
19+
SG_ sig7 : 47|10@0+ (1.0,0.0) [0|0] "" CCL_TEST
20+
SG_ sig8 : 58|3@0+ (1.0,0.0) [0|0] "" CCL_TEST
21+
SG_ sig9 : 61|3@0+ (1.0,0.0) [0|0] "" CCL_TEST
22+
SG_ sig10 : 63|2@0+ (1.0,0.0) [0|0] "" CCL_TEST
23+
24+
BO_ 2 testFrame2: 8 TEST_ECU
25+
SG_ secSig1 : 60|2@1+ (1.0,0.0) [0|0] "" CCL_TEST
26+
SG_ secSig2 : 55|1@1+ (1.0,0.0) [0|0] "" CCL_TEST
27+
SG_ secSig3 : 20|4@1+ (1.0,0.0) [0|0] "" CCL_TEST
28+
SG_ secSig4 : 62|2@1+ (1.0,0.0) [0|0] "" CCL_TEST
29+
SG_ secSig5 : 34|3@1+ (1.0,0.0) [0|0] "" CCL_TEST
30+
SG_ secSig6 : 37|3@1+ (1.0,0.0) [0|0] "" CCL_TEST
31+
SG_ secSig7 : 59|1@1- (1.0,0.0) [0|0] "" CCL_TEST
32+
SG_ secSig8 : 56|3@1+ (1.0,0.0) [0|0] "" CCL_TEST
33+
SG_ secSig9 : 52|3@1+ (1.0,0.0) [0|0] "" CCL_TEST
34+
SG_ secSig10 : 8|12@1+ (1.0,0.0) [0|0] "" CCL_TEST
35+
SG_ secSig11 : 24|10@1- (1.0,0.0) [0|0] "" CCL_TEST
36+
SG_ secSig12 : 0|8@1+ (1.0,0.0) [0|0] "" CCL_TEST
37+
38+
39+
40+
41+
42+
43+
44+
45+
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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

Comments
 (0)