Skip to content

Commit 7a4b096

Browse files
committed
Fixing bug in int8_t I2Cdev::readWords()
Issue #718
1 parent 98a3b4e commit 7a4b096

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

RP2040/I2Cdev/I2Cdev.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -166,14 +166,13 @@ int8_t I2Cdev::readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8
166166
* @return Number of words read (-1 indicates failure)
167167
*/
168168
int8_t I2Cdev::readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint32_t timeout) {
169-
int8_t count = 0, j = 0;
169+
int8_t count = 0;
170170
uint8_t data_buf[length*2];
171171

172172
i2c_write_blocking(i2c_default, devAddr, &regAddr, 1, true);
173173
count = i2c_read_timeout_us(i2c_default, devAddr, data_buf, length*2, false, timeout * 1000);
174174
for(int i=0; i<length; i++){
175-
data[i] = (data_buf[j] << 8) | data_buf[j+1];
176-
j+2;
175+
data[i] = (data_buf[i*2] << 8) | data_buf[(i*2)+1];
177176
}
178177

179178
return count;

0 commit comments

Comments
 (0)