Wire: Let requestFrom return the number of available bytes#165
Open
matthijskooijman wants to merge 1 commit intoGrumpyOldPizza:masterfrom
Open
Wire: Let requestFrom return the number of available bytes#165matthijskooijman wants to merge 1 commit intoGrumpyOldPizza:masterfrom
matthijskooijman wants to merge 1 commit intoGrumpyOldPizza:masterfrom
Conversation
Previously, it would return the number of requested bytes, even if the slave returned a NAK on the address byte, preventing libraries to detect such a NAK. For example, the SparkFun HTU21D library would fail to read humidity, because the "I'm not ready measuring"-NAK would look like a successful read, but with dummy data. This matches the return value with that of the official Arduino versions and the documentation at https://www.arduino.cc/en/Reference/WireRequestFrom
Owner
|
ACK. I recall having coded that specifically as to one of the cores (must have been ArduinoCore-samd at the time) had exactly those semantics. |
Author
|
Yup, seems they fixed it for SAMD here-ish (https://github.com/adafruit/ArduinoCore-samd/blob/master/libraries/Wire/Wire.cpp#diff-df1cdf716a3ab485d49151a55cbbd816f3689b57dc5999174d66f9d8f0241bac) and it now looks like this: https://github.com/adafruit/ArduinoCore-samd/blob/0b160161de695ba9e5b0ce223f9e1181224800d9/libraries/Wire/Wire.cpp#L65-L98 |
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.
Previously, it would return the number of requested bytes, even if the
slave returned a NAK on the address byte, preventing libraries to detect
such a NAK. For example, the SparkFun HTU21D library would fail to read
humidity, because the "I'm not ready measuring"-NAK would look like a
successful read, but with dummy data.
This matches the return value with that of the official Arduino versions
and the documentation at
https://www.arduino.cc/en/Reference/WireRequestFrom