uint16_t timeout_timer = timer_read();
while( !(TWCR & (1<<TWINT)) ) {
- if (timeout && ((timer_read() - timeout_timer) > timeout)) {
+ if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) {
return I2C_STATUS_TIMEOUT;
}
}
timeout_timer = timer_read();
while( !(TWCR & (1<<TWINT)) ) {
- if (timeout && ((timer_read() - timeout_timer) > timeout)) {
+ if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) {
return I2C_STATUS_TIMEOUT;
}
}
uint16_t timeout_timer = timer_read();
while( !(TWCR & (1<<TWINT)) ) {
- if (timeout && ((timer_read() - timeout_timer) > timeout)) {
+ if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) {
return I2C_STATUS_TIMEOUT;
}
}
uint16_t timeout_timer = timer_read();
while( !(TWCR & (1<<TWINT)) ) {
- if (timeout && ((timer_read() - timeout_timer) > timeout)) {
+ if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) {
return I2C_STATUS_TIMEOUT;
}
}
uint16_t timeout_timer = timer_read();
while( !(TWCR & (1<<TWINT)) ) {
- if (timeout && ((timer_read() - timeout_timer) > timeout)) {
+ if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) {
return I2C_STATUS_TIMEOUT;
}
}
uint16_t timeout_timer = timer_read();
while(TWCR & (1<<TWSTO)) {
- if (timeout && ((timer_read() - timeout_timer) > timeout)) {
+ if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) {
return I2C_STATUS_TIMEOUT;
}
}