diff --git a/drivers/tsl2561/tsl2561.c b/drivers/tsl2561/tsl2561.c index 05260eb47e5603c71be38ccb421225236395a84a..abb70b927262f20afed3d391d1aa565aabf66c8d 100644 --- a/drivers/tsl2561/tsl2561.c +++ b/drivers/tsl2561/tsl2561.c @@ -84,6 +84,7 @@ int tsl2561_init(tsl2561_t *dev, const tsl2561_params_t *params) #endif _disable(dev); + i2c_release(DEV_I2C); return TSL2561_OK; } @@ -212,6 +213,8 @@ static void _disable(const tsl2561_t *dev) static void _read_data(const tsl2561_t *dev, uint16_t *full, uint16_t *ir) { + /* acquire bus */ + i2c_acquire(DEV_I2C); /* Enable the device */ _enable(dev); @@ -247,6 +250,8 @@ static void _read_data(const tsl2561_t *dev, uint16_t *full, uint16_t *ir) /* Turn the device off to save power */ _disable(dev); + /* release bus */ + i2c_release(DEV_I2C); } static void _print_init_info(const tsl2561_t *dev)