Skip to content

Commit 07e5ed0

Browse files
committed
reader: mf4: test for 'S' type .Dir like asammdf
1 parent 7c521af commit 07e5ed0

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

can/io/mf4.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,10 @@ def __iter__(self) -> Generator[Message, None, None]:
352352
if "CAN_DataFrame.BusChannel" in names:
353353
kv["channel"] = int(data["CAN_DataFrame.BusChannel"][i])
354354
if "CAN_DataFrame.Dir" in names:
355-
kv["is_rx"] = int(data["CAN_DataFrame.Dir"][i]) == 0
355+
if data["CAN_DataFrame.Dir"][i].dtype.kind == "S":
356+
kv["is_rx"] = data["CAN_DataFrame.Dir"][i] == b"Rx"
357+
else:
358+
kv["is_rx"] = int(data["CAN_DataFrame.Dir"][i]) == 0
356359
if "CAN_DataFrame.IDE" in names:
357360
kv["is_extended_id"] = bool(data["CAN_DataFrame.IDE"][i])
358361
if "CAN_DataFrame.EDL" in names:
@@ -387,7 +390,10 @@ def __iter__(self) -> Generator[Message, None, None]:
387390
if "CAN_ErrorFrame.BusChannel" in names:
388391
kv["channel"] = int(data["CAN_ErrorFrame.BusChannel"][i])
389392
if "CAN_ErrorFrame.Dir" in names:
390-
kv["is_rx"] = int(data["CAN_ErrorFrame.Dir"][i]) == 0
393+
if data["CAN_ErrorFrame.Dir"][i].dtype.kind == "S":
394+
kv["is_rx"] = data["CAN_ErrorFrame.Dir"][i] == b"Rx"
395+
else:
396+
kv["is_rx"] = int(data["CAN_ErrorFrame.Dir"][i]) == 0
391397
if "CAN_ErrorFrame.ID" in names:
392398
kv["arbitration_id"] = (
393399
int(data["CAN_ErrorFrame.ID"][i]) & 0x1FFFFFFF
@@ -441,7 +447,10 @@ def __iter__(self) -> Generator[Message, None, None]:
441447
if "CAN_RemoteFrame.BusChannel" in names:
442448
kv["channel"] = int(data["CAN_RemoteFrame.BusChannel"][i])
443449
if "CAN_RemoteFrame.Dir" in names:
444-
kv["is_rx"] = int(data["CAN_RemoteFrame.Dir"][i]) == 0
450+
if data["CAN_RemoteFrame.Dir"][i].dtype.kind == "S":
451+
kv["is_rx"] = data["CAN_RemoteFrame.Dir"][i] == b"Rx"
452+
else:
453+
kv["is_rx"] = int(data["CAN_RemoteFrame.Dir"][i]) == 0
445454
if "CAN_RemoteFrame.IDE" in names:
446455
kv["is_extended_id"] = bool(data["CAN_RemoteFrame.IDE"][i])
447456

0 commit comments

Comments
 (0)