-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
com/can: Remove unnecessary judgment logic #14713
base: master
Are you sure you want to change the base?
Conversation
[Experimental Bot, please feedback here] No, this PR does not fully meet the NuttX requirements as described. While it provides some information, it lacks crucial details and context. Here's a breakdown of what's missing and how to improve it:
In short, the current PR description is incomplete and doesn't provide enough information for a reviewer to assess the change thoroughly. Addressing the points above will significantly improve the quality of the PR and increase its chances of being accepted. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please include in the commit log the remaining explanation you put in the Summary
DOne |
@HedongGao I mean, add:
To the commit log message |
I am sorry! |
The feature of preventing the same ID frame rotation should be done in the lowerhalf, not in the upperhalf. Signed-off-by: gaohedong <gaohedong@xiaomi.com>
Summary
The feature of preventing the same ID frame rotation should be done in the lowerhalf or hardware, otherwise it may cause some problems. The CAN protocol stack only ensures that message is written into the hardware in the order of application layer packets, and does not care hardware sending order. This patch just remove this feature from CAN stack.
Impact
When the application layer sends frames faster than Hardware and the can_id of frames is the same, the CAN protocol stack will directly hand over frames to Hardware and no longer prevent it from being sent.
Testing
The application layer sends CAN frames with same can_id, constructs a scenario where the sending queue is full, and manually adds log information to record the frame in sending queue. Print the frame.can_id information for each frame as follows:
pending_list lentgth is :3 , and tx mailbox count is : 3
frame in tx mailbox is : 0x193, 0x193, 0x193