Merge pull request #1560 from kgills/i2c_byte_write_fix

[MAX32600MBED MAXWSNENV] Fixing the return for i2c_byte_write.
pull/1568/head
Martin Kojtal 2016-02-25 10:12:51 +00:00
commit fb3928665a
2 changed files with 22 additions and 0 deletions

View File

@ -227,6 +227,17 @@ int i2c_byte_write(i2c_t *obj, int data)
obj->i2c->trans |= MXC_F_I2CM_TRANS_TX_START;
// Wait for the FIFO to be empty
while(!(obj->i2c->intfl & MXC_F_I2CM_INTFL_TX_FIFO_EMPTY)) {}
if(obj->i2c->intfl & MXC_F_I2CM_INTFL_TX_NACKED) {
return 1;
}
if(obj->i2c->intfl & (MXC_F_I2CM_INTFL_TX_TIMEOUT | MXC_F_I2CM_INTFL_TX_LOST_ARBITR)) {
return 2;
}
return 0;
}

View File

@ -227,6 +227,17 @@ int i2c_byte_write(i2c_t *obj, int data)
obj->i2c->trans |= MXC_F_I2CM_TRANS_TX_START;
// Wait for the FIFO to be empty
while(!(obj->i2c->intfl & MXC_F_I2CM_INTFL_TX_FIFO_EMPTY)) {}
if(obj->i2c->intfl & MXC_F_I2CM_INTFL_TX_NACKED) {
return 1;
}
if(obj->i2c->intfl & (MXC_F_I2CM_INTFL_TX_TIMEOUT | MXC_F_I2CM_INTFL_TX_LOST_ARBITR)) {
return 2;
}
return 0;
}