Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When converting to Fibex keep the signal instance start position as in dbc file #832

Open
wants to merge 8 commits into
base: development
Choose a base branch
from
6 changes: 0 additions & 6 deletions src/canmatrix/formats/dbc.py
Original file line number Diff line number Diff line change
Expand Up @@ -584,9 +584,6 @@ def add_frame_by_id(new_frame): # type: (canmatrix.Frame) -> None
receivers=receiver,
**extras
)
if not temp_signal.is_little_endian:
# startbit of motorola coded signals are MSB in dbc
temp_signal.set_startbit(int(temp.group(2)), bitNumbering=1)
frame.add_signal(temp_signal)
# db.frames.addSignalToLastFrame(tempSig)
else:
Expand Down Expand Up @@ -638,9 +635,6 @@ def add_frame_by_id(new_frame): # type: (canmatrix.Frame) -> None
temp_signal.is_multiplexer = True
temp_signal.multiplex = 'Multiplexor'

if not temp_signal.is_little_endian:
# startbit of motorola coded signals are MSB in dbc
temp_signal.set_startbit(int(temp.group(3)), bitNumbering=1)
frame.add_signal(temp_signal)

if is_complex_multiplexed:
Expand Down
32 changes: 10 additions & 22 deletions tests/test_dbc.py
Original file line number Diff line number Diff line change
Expand Up @@ -471,28 +471,16 @@ def test_candbpp_startbit():
SG_ SIG10 : 4|13@0+ (0.1,0) [350|450] "V" DEV1
''').encode('utf-8'))
matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8")
# Motorola forward LSB
assert matrix.frames[0].signal_by_name("SIG1").get_startbit(True, True) == 36
assert matrix.frames[0].signal_by_name("SIG2").get_startbit(True, True) == 52
assert matrix.frames[0].signal_by_name("SIG3").get_startbit(True, True) == 56
assert matrix.frames[0].signal_by_name("SIG4").get_startbit(True, True) == 6
assert matrix.frames[0].signal_by_name("SIG5").get_startbit(True, True) == 5
assert matrix.frames[0].signal_by_name("SIG6").get_startbit(True, True) == 21
assert matrix.frames[0].signal_by_name("SIG7").get_startbit(True, True) == 7
assert matrix.frames[0].signal_by_name("SIG8").get_startbit(True, True) == 40
assert matrix.frames[0].signal_by_name("SIG9").get_startbit(True, True) == 24
assert matrix.frames[0].signal_by_name("SIG10").get_startbit(True, True) == 8
# Motorola forward MSB
assert matrix.frames[0].signal_by_name("SIG1").get_startbit(True, False) == 39
assert matrix.frames[0].signal_by_name("SIG2").get_startbit(True, False) == 52
assert matrix.frames[0].signal_by_name("SIG3").get_startbit(True, False) == 51
assert matrix.frames[0].signal_by_name("SIG4").get_startbit(True, False) == 6
assert matrix.frames[0].signal_by_name("SIG5").get_startbit(True, False) == 5
assert matrix.frames[0].signal_by_name("SIG6").get_startbit(True, False) == 23
assert matrix.frames[0].signal_by_name("SIG7").get_startbit(True, False) == 7
assert matrix.frames[0].signal_by_name("SIG8").get_startbit(True, False) == 34
assert matrix.frames[0].signal_by_name("SIG9").get_startbit(True, False) == 18
assert matrix.frames[0].signal_by_name("SIG10").get_startbit(True, False) == 4
assert matrix.frames[0].signal_by_name("SIG1").start_bit == 39
assert matrix.frames[0].signal_by_name("SIG2").start_bit == 52
assert matrix.frames[0].signal_by_name("SIG3").start_bit == 51
assert matrix.frames[0].signal_by_name("SIG4").start_bit == 6
assert matrix.frames[0].signal_by_name("SIG5").start_bit == 5
assert matrix.frames[0].signal_by_name("SIG6").start_bit == 23
assert matrix.frames[0].signal_by_name("SIG7").start_bit == 7
assert matrix.frames[0].signal_by_name("SIG8").start_bit == 34
assert matrix.frames[0].signal_by_name("SIG9").start_bit == 18
assert matrix.frames[0].signal_by_name("SIG10").start_bit == 4


def test_missing_space():
Expand Down
Loading