Wire: wait while bus is busy if ack failed

This commit is contained in:
me-no-dev 2016-12-15 01:41:54 +02:00
parent b86fb30b1d
commit 668c3811b8

View File

@ -219,6 +219,7 @@ i2c_err_t i2cWrite(i2c_t * i2c, uint16_t address, bool addr_10bit, uint8_t * dat
//Transmission did not finish and ACK_ERR is set //Transmission did not finish and ACK_ERR is set
if(i2c->dev->int_raw.ack_err) { if(i2c->dev->int_raw.ack_err) {
//log_w("Ack Error! Addr: %x", address >> 1); //log_w("Ack Error! Addr: %x", address >> 1);
while(i2c->dev->status_reg.bus_busy);
I2C_MUTEX_UNLOCK(); I2C_MUTEX_UNLOCK();
return I2C_ERROR_ACK; return I2C_ERROR_ACK;
} }