Skip to content

Commit 971de63

Browse files
committed
Merge pull request #1869 from kevin-pololu/due-wire-available
SAM Wire: fixed NACK/timeout behavior of requestFrom() and available()
2 parents b48444d + 12b5422 commit 971de63

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

libraries/Wire/Wire.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,10 @@ uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity, uint8_t sendStop
143143
if (readed + 1 == quantity)
144144
TWI_SendSTOPCondition( twi);
145145

146-
TWI_WaitByteReceived(twi, RECV_TIMEOUT);
147-
rxBuffer[readed++] = TWI_ReadByte(twi);
146+
if (TWI_WaitByteReceived(twi, RECV_TIMEOUT))
147+
rxBuffer[readed++] = TWI_ReadByte(twi);
148+
else
149+
break;
148150
} while (readed < quantity);
149151
TWI_WaitTransferComplete(twi, RECV_TIMEOUT);
150152

0 commit comments

Comments
 (0)