From a7714695a0f540f82b13d750fa3a2353e7f55857 Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Fri, 3 Nov 2017 14:12:41 +0100 Subject: [PATCH] Delaying and repeating i2c operation automatically when i2c interface is busy removed. User has to deal with concurrency using semaphores. --- extras/bme680/bme680.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/extras/bme680/bme680.c b/extras/bme680/bme680.c index d44b588..f2742ee 100644 --- a/extras/bme680/bme680.c +++ b/extras/bme680/bme680.c @@ -1425,11 +1425,7 @@ static bool bme680_i2c_read(bme680_sensor_t* dev, uint8_t reg, uint8_t *data, ui debug_dev ("Read %d byte from i2c slave register %02x.", __FUNCTION__, dev, len, reg); - int result; - int count = 10; - - while (count-- && (result = i2c_slave_read(dev->bus, dev->addr, ®, data, len)) == -EBUSY) - bme680_delay_ms (10); + int result = i2c_slave_read(dev->bus, dev->addr, ®, data, len); if (result) { @@ -1457,11 +1453,7 @@ static bool bme680_i2c_write(bme680_sensor_t* dev, uint8_t reg, uint8_t *data, u debug_dev ("Write %d byte to i2c slave register %02x.", __FUNCTION__, dev, len, reg); - int result; - int count = 10; - - while (count-- && (result = i2c_slave_write(dev->bus, dev->addr, ®, data, len)) == -EBUSY) - bme680_delay_ms (10); + int result = i2c_slave_write(dev->bus, dev->addr, ®, data, len); if (result) {