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

PCAN fails when PCAN_ERROR_ILLDATA is read via ReadFD #1849

Open
bures opened this issue Sep 4, 2024 · 0 comments
Open

PCAN fails when PCAN_ERROR_ILLDATA is read via ReadFD #1849

bures opened this issue Sep 4, 2024 · 0 comments
Labels

Comments

@bures
Copy link
Contributor

bures commented Sep 4, 2024

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 - c712131
python-can interface/s (if applicable): PCAN-USB FD (using pcan interface)

@bures bures added the bug label Sep 4, 2024
zariiii9003 pushed a commit that referenced this issue Sep 6, 2024
…#1850)

* 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.

This fix add the ignore on the PCAN_ERROR_ILLDATA.

* Fix for ruff error `can/interfaces/pcan/pcan.py:5:1: I001 [*] Import block is un-sorted or un-formatted`
Added comment explaining why to ignore the PCAN_ERROR_ILLDATA.
SWolfSchunk pushed a commit to SWolfSchunk/python-can that referenced this issue Sep 9, 2024
… ReadFD) (hardbyte#1850)

* 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.

This fix add the ignore on the PCAN_ERROR_ILLDATA.

* Fix for ruff error `can/interfaces/pcan/pcan.py:5:1: I001 [*] Import block is un-sorted or un-formatted`
Added comment explaining why to ignore the PCAN_ERROR_ILLDATA.
zariiii9003 pushed a commit that referenced this issue Oct 8, 2024
* Add autostart option (kwarg) to BusABC.send_periodic() to fix issue #1848

* Fix for #1849 (PCAN fails when PCAN_ERROR_ILLDATA is read via ReadFD) (#1850)

* 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.

This fix add the ignore on the PCAN_ERROR_ILLDATA.

* Fix for ruff error `can/interfaces/pcan/pcan.py:5:1: I001 [*] Import block is un-sorted or un-formatted`
Added comment explaining why to ignore the PCAN_ERROR_ILLDATA.

* Format with black to pass checks

* Do not ignore autostart parameter for Bus.send_periodic() on IXXAT devices

* Do not ignore autostart parameter for Bis.send_periodic() on socketcan devices

* Fix double start socketcan periodic

* Fix link methods in docstring for start() methods of  the tasks can.broadcastmanager.CyclicTask.start

* Change the behaviour of autostart parameter in socketcan implementation of  CyclicSendTask to not call _tx_setup() method instead of adding a parameter to it.

* Fix code style (max 100 chars per line)
Fix wrong docstring reference.

---------

Co-authored-by: Tomas Bures <bures@d3s.mff.cuni.cz>
Co-authored-by: Sebastian Wolf <Sebastian.Wolf@pace-systems.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant