From 6eb6ac34cf96e8eb96a92159196da1043485b69f Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Sat, 4 Nov 2017 14:23:24 +0100 Subject: [PATCH] Delaying and repeating i2c operation automatically when i2c interface is busy removed. User has to deal with concurrency using semaphores. --- extras/ccs811/ccs811.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/extras/ccs811/ccs811.c b/extras/ccs811/ccs811.c index a9849e0..b1de154 100644 --- a/extras/ccs811/ccs811.c +++ b/extras/ccs811/ccs811.c @@ -488,11 +488,7 @@ static bool ccs811_reg_read(ccs811_sensor_t* dev, uint8_t reg, uint8_t *data, ui debug_dev ("Read %d byte from i2c slave starting at reg addr %02x.", __FUNCTION__, dev, len, reg); - int result = 0; - int count = 10; - - while (count-- && (result = i2c_slave_read(dev->bus, dev->addr, ®, data, len)) == -EBUSY) - vTaskDelay (1); + int result = i2c_slave_read(dev->bus, dev->addr, ®, data, len); if (result) { @@ -531,11 +527,7 @@ static bool ccs811_reg_write(ccs811_sensor_t* dev, uint8_t reg, uint8_t *data, u # endif - int result; - int count = 10; - - while (count-- && (result = i2c_slave_write(dev->bus, dev->addr, ®, data, len)) == -EBUSY) - vTaskDelay (1); + int result = i2c_slave_write(dev->bus, dev->addr, ®, data, len); if (result) {