From 67a402ed59c1e1f42f63b3148ac0b4ddf4c1e36b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Sat, 19 Aug 2017 13:03:41 +0200 Subject: [PATCH] Make I2cAsync{Read,Write} return with status_t --- right/src/i2c.c | 12 ++++++++---- right/src/i2c.h | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) 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