Add setResponseTimeout() for configurable response timeout#207
Open
karolyczovek wants to merge 2 commits into4-20ma:masterfrom
Open
Add setResponseTimeout() for configurable response timeout#207karolyczovek wants to merge 2 commits into4-20ma:masterfrom
karolyczovek wants to merge 2 commits into4-20ma:masterfrom
Conversation
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.
Description
The response timeout is currently a fixed 2000 ms (
ku16MBResponseTimeout). When no slave is present, each request blocks for 2 s, which can make the main loop unresponsive (e.g. serial input lag) when doing multiple reads per cycle.This change adds
setResponseTimeout(uint16_t ms)so the timeout can be set afterbegin(). Default remains 2000 ms. A private member_u16ResponseTimeoutMsis initialized toku16MBResponseTimeoutin the constructor. Existing code is unchanged; callsetResponseTimeout(500)(or similar) to fail sooner when no device responds.Backward compatible: if
setResponseTimeout()is never called, behaviour is identical to before.Issues Resolved
None (new feature; no existing issue).
Check List
General
git diff --checkbefore committing.The following have been modified to reflect new features, if warranted
The following have NOT been modified