hardbyte / python-can

The can package provides controller area network support for Python developers
https://python-can.readthedocs.io
GNU Lesser General Public License v3.0
1.31k stars 604 forks source link

PCAN fails when PCAN_ERROR_ILLDATA is read via ReadFD #1849

Open bures opened 2 months ago

bures commented 2 months ago

Describe the bug

When there is an invalid frame on CAN bus (in our case CAN FD), PCAN first reports result PCAN_ERROR_ILLDATA and then it send the error frame. If the PCAN_ERROR_ILLDATA is not ignored, python-can throws an exception.

To Reproduce

A packet like the one in this screenshot has to be received. image

Expected behavior

python-can should ignore the PCAN_ERROR_ILLDATA because it carries no useful information. The error can be then detected by the error frame which PCAN generates right after.

Additional context

OS and version: Windows 11 Python version: Python 3.12 python-can version: Latest commit in main - c7121310253c42c6410a70bc8b4f27a51b8b4411 python-can interface/s (if applicable): PCAN-USB FD (using pcan interface)