-
Notifications
You must be signed in to change notification settings - Fork 279
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
Fault callback is never invoked #279
Comments
Thank you for the information. We're working on reproducing it. What vehicle are you running? In the firmware we are not deliberately sending error frames for those fault reports which suggests that the CAN bus is having some difficulty sending messages. Are the error frames the only CAN frames you are seeing? |
I am working on Kia Niro vehicle but currently I reproduce this bug just by connecting all modules together with power and CAN just on the table without car connected to any board. I am receiving report frames correctly and I can send enable message to boards on which they react. But as you mention those errors came from bus itself.
All three modules was trying to send fault report frame with the same ID and at the same time which give bus error message. Of course boards are not perfectly synchronized so I am still getting some valid fault frames. This setup is not representing real life scenario. There is small probability that all boards start to send fault frames so this is not big issue but nevertheless I think it is good idea to create fault frames ID per module not common for every one. |
Hi PolySync,
I think that I found bug with fault handling mechanism.
Expected behavior
OSCC C api fault_report_callback should be invoked where CAN error frame is received.
Actual behavior
All error frames are ignored.
Steps to reproduce
For example brake module:
Version info
Source from v1.2.1-niro
Analyze
SocketCAN is initialized by this code:
But from kernel documentation we can read kernel doc
So current behavior that api don't get any error frames is valid one from kernel driver point of view. I modify code by adding new header include:
And also after creating socket new option:
And after this modification I can receive fault code and callback is invoked.
The text was updated successfully, but these errors were encountered: