driver/python_can: fix the way recv and flush_tx_buffer are called#78
Open
oystub wants to merge 2 commits intodronecan:masterfrom
Open
driver/python_can: fix the way recv and flush_tx_buffer are called#78oystub wants to merge 2 commits intodronecan:masterfrom
recv and flush_tx_buffer are called#78oystub wants to merge 2 commits intodronecan:masterfrom
Conversation
python-can's recv function is supposed to take a timeout in seconds, or None, not in milliseconds or -1.
E.g. the socketcan interface does not have `flush_tx_buffer` implemented. Calling the function without a `try` would cause send operations to fail.
recv and flush_tx_buffer are called
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
python-can's recv function is supposed to take a timeout in seconds or None, not in milliseconds or -1.
See issue #77
In addition, in newer versions of
python-can, theflush_tx_bufferraises aNotImplementedErrorfor many interface types like socketcan. I raised an issue requesting a change in this behaviour here: hardbyte/python-can#1922This combination makes
pydronecanunresponsive, and not working for send-operations at all ifpython-canis installed on the system, so I think a workaround like this is warranted.