Delaying and repeating i2c operation automatically when i2c interface is busy removed. User has to deal with concurrency using semaphores.
This commit is contained in:
parent
5f58090924
commit
6eb6ac34cf
1 changed files with 2 additions and 10 deletions
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue