-
Notifications
You must be signed in to change notification settings - Fork 7
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
Aggregation of multiple CAN messages in 1722 frame #20
Comments
@JLPLabs, At first glance I think it would be a little bit more flexible to provide a timeout (longest possible time allowed to buffer a CAN message) to the talker application instead of a fixed number of CAN messages to be aggregated. Then the talker would either wait until
For the default setting we could set the timeout simply to zero which would imply no buffering at all. But maybe you had a very specific reason why you did it the way you did? |
Adriaan, I like those ideas! And thank you for asking if I had a specific reason. I do, but it is perhaps a little selfish... I do like the idea of a max number of CAN frames per Ethernet frame, as there may be use cases where the user (particularly while doing initial development, which is me right now!) prefers looking at only a handful of CAN frames in an Ethernet frame while analyzing protocol behavior. I'm going to take the liberty of combining your idea with mine... I hope you are OK with that. Let's say the default behavior of talker is "full buffering"-- unless the user indicates otherwise, we'll pack as many CAN frames into the Ethernet frame as we can before sending it. If the user doesn't want "full buffering" then they can use one or both of Here are behaviors other than default:
Formal Definitions
InteractionThe Ethernet frame is sent once any of these are true:
--notes-- |
Hey, this looks very well thought out to me. Big thanks! Unfortunately I can only give you a short reply, because I'm in a little bit of hurry. Some thoughts:
|
Sorry for my delayed response.
|
Hi, don't worry take your time. Only thing I'd change is to set the default timeout to 0 instead of 2^32-1 because then it could happen that a single CAN frame gets delayed for a very long time. I fear some users could interpret this as a bug if they don't study the documentation first. If you need any help or feel stuck at some point let me know. Regards |
Based on comment from @JLPLabs we should consider adding support to aggregate multiple CAN frames into a single Ethernet frame.
The text was updated successfully, but these errors were encountered: