diff --git a/right/src/i2c.c b/right/src/i2c.c index 866d3ce..0327986 100644 --- a/right/src/i2c.c +++ b/right/src/i2c.c @@ -4,20 +4,24 @@ i2c_master_handle_t I2cMasterHandle; bool IsI2cTransferScheduled; i2c_master_transfer_t masterTransfer; -void I2cAsyncWrite(uint8_t i2cAddress, uint8_t *data, size_t dataSize) +status_t I2cAsyncWrite(uint8_t i2cAddress, uint8_t *data, size_t dataSize) { masterTransfer.slaveAddress = i2cAddress; masterTransfer.direction = kI2C_Write; masterTransfer.data = data; masterTransfer.dataSize = dataSize; - IsI2cTransferScheduled = I2C_MasterTransferNonBlocking(I2C_MAIN_BUS_BASEADDR, &I2cMasterHandle, &masterTransfer) == kStatus_Success; + status_t status = I2C_MasterTransferNonBlocking(I2C_MAIN_BUS_BASEADDR, &I2cMasterHandle, &masterTransfer); + IsI2cTransferScheduled = status == kStatus_Success; + return status; } -void I2cAsyncRead(uint8_t i2cAddress, uint8_t *data, size_t dataSize) +status_t I2cAsyncRead(uint8_t i2cAddress, uint8_t *data, size_t dataSize) { masterTransfer.slaveAddress = i2cAddress; masterTransfer.direction = kI2C_Read; masterTransfer.data = data; masterTransfer.dataSize = dataSize; - IsI2cTransferScheduled = I2C_MasterTransferNonBlocking(I2C_MAIN_BUS_BASEADDR, &I2cMasterHandle, &masterTransfer) == kStatus_Success; + status_t status = I2C_MasterTransferNonBlocking(I2C_MAIN_BUS_BASEADDR, &I2cMasterHandle, &masterTransfer); + IsI2cTransferScheduled = status == kStatus_Success; + return status; } diff --git a/right/src/i2c.h b/right/src/i2c.h index f0ffe9f..c2a0583 100644 --- a/right/src/i2c.h +++ b/right/src/i2c.h @@ -44,7 +44,7 @@ // Functions: - void I2cAsyncWrite(uint8_t i2cAddress, uint8_t *data, size_t dataSize); - void I2cAsyncRead(uint8_t i2cAddress, uint8_t *data, size_t dataSize); + status_t I2cAsyncWrite(uint8_t i2cAddress, uint8_t *data, size_t dataSize); + status_t I2cAsyncRead(uint8_t i2cAddress, uint8_t *data, size_t dataSize); #endif