-
-
Notifications
You must be signed in to change notification settings - Fork 81
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
Rate limit the sending of consecutive frames regardless of server request #61
Comments
That's a good point. I could allow override of stmin. But even better, we could specify the internal buffer size. Like that it would be possible to do a rate limiter without pausing betwern each consecutive frame. Will have a look |
Hi @dpatel20 Set Then I will merge once you validate that this fixes your problem |
Hi - Thanks for the new feature! I have tested it and can confirm it works well. I modify the I tried it with a very high busload too and was able to drop the |
Merged. Will be included in next release. |
Documentation is also updated |
I'm not sure if I should reopen this issue. #62 my params: |
Oh, that looks like a bug indeed. |
I forgot about this one. Reopening to fix the bug raised by @notmmao |
I fixed this. |
I am on Windows using Vector HW. I use udsoncan to perform a transfer data operation in 4KB blocks with python-can-isotp as the TP layer.
The server, in its flow control, has stmin=0 so python-can-isotp sends as fast as possible. However, it seems the Vector driver sometimes can't handle the fast rate and throws a XL_ERR_QUEUE_IS_FULL error.
According to this page:
Suggesting that the bus data rate needs to be respected to avoid this error.
Therefore, I'd like to rate limit the transmit. Is there a way to have python-can-isotp set a minimum value for transmit stmin? i.e. if server gives stmin=0, we still limit it to some value (e.g. 1ms separation)? Perhaps based on the bus rate?
The text was updated successfully, but these errors were encountered: