Skip to content

Commit c0f158f

Browse files
authored
Merge pull request #196 from delta-G/DG_WireMillis
fixing millis rollover bug x2
2 parents 684cafc + d7e4606 commit c0f158f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

Diff for: libraries/Wire/Wire.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -477,8 +477,8 @@ uint8_t TwoWire::read_from(uint8_t address, uint8_t* data, uint8_t length, unsig
477477
err = m_read(&m_i2c_ctrl,data,length,!sendStop);
478478
}
479479
}
480-
timeout_ms = millis() + timeout_ms;
481-
while(millis() < timeout_ms && bus_status == WIRE_STATUS_UNSET && err == FSP_SUCCESS) {
480+
uint32_t const start = millis();
481+
while(((millis() - start) < timeout_ms) && bus_status == WIRE_STATUS_UNSET && err == FSP_SUCCESS) {
482482

483483
}
484484
}
@@ -505,8 +505,8 @@ uint8_t TwoWire::write_to(uint8_t address, uint8_t* data, uint8_t length, unsign
505505
err = m_write(&m_i2c_ctrl,data,length,!sendStop);
506506
}
507507
}
508-
timeout_ms = millis() + timeout_ms;
509-
while(millis() < timeout_ms && bus_status == WIRE_STATUS_UNSET && err == FSP_SUCCESS) {
508+
uint32_t const start = millis();
509+
while(((millis() - start) < timeout_ms) && bus_status == WIRE_STATUS_UNSET && err == FSP_SUCCESS) {
510510

511511
}
512512

0 commit comments

Comments
 (0)