Skip to content

Commit 87fc54b

Browse files
committed
Changing return type of 'requestFrom' from uint8_t to size_t allows the function to return the correct amount of bytes read (since internally it's already a size_t which is downcast to a uint8_t upon returning it.
1 parent a40389d commit 87fc54b

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

Diff for: libraries/Wire/src/Wire.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ void TwoWire::setClock(uint32_t clock)
9595
TWI_MasterSetBaud(clock);
9696
}
9797

98-
uint8_t TwoWire::requestFrom(uint8_t address, size_t quantity, bool sendStop) {
98+
size_t TwoWire::requestFrom(uint8_t address, size_t quantity, bool sendStop) {
9999
if(quantity > BUFFER_LENGTH){
100100
quantity = BUFFER_LENGTH;
101101
}
@@ -109,17 +109,17 @@ uint8_t TwoWire::requestFrom(uint8_t address, size_t quantity, bool sendStop) {
109109
return bytes_read;
110110
}
111111

112-
uint8_t TwoWire::requestFrom(uint8_t address, size_t quantity)
112+
size_t TwoWire::requestFrom(uint8_t address, size_t quantity)
113113
{
114114
return requestFrom(address, quantity, true);
115115
}
116116

117-
uint8_t TwoWire::requestFrom(int address, int quantity)
117+
size_t TwoWire::requestFrom(int address, int quantity)
118118
{
119119
return requestFrom((uint8_t)address, (size_t)quantity, true);
120120
}
121121

122-
uint8_t TwoWire::requestFrom(int address, int quantity, int sendStop)
122+
size_t TwoWire::requestFrom(int address, int quantity, int sendStop)
123123
{
124124
return requestFrom((uint8_t)address, (size_t)quantity, (bool)sendStop);
125125
}

Diff for: libraries/Wire/src/Wire.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ class TwoWire : public HardwareI2C
5858
void beginTransmission(int);
5959
uint8_t endTransmission(void);
6060
uint8_t endTransmission(bool);
61-
uint8_t requestFrom(uint8_t, size_t);
62-
uint8_t requestFrom(uint8_t, size_t, bool);
63-
uint8_t requestFrom(int, int);
64-
uint8_t requestFrom(int, int, int);
61+
size_t requestFrom(uint8_t, size_t);
62+
size_t requestFrom(uint8_t, size_t, bool);
63+
size_t requestFrom(int, int);
64+
size_t requestFrom(int, int, int);
6565
virtual size_t write(uint8_t);
6666
virtual size_t write(const uint8_t *, size_t);
6767
virtual int available(void);

0 commit comments

Comments
 (0)