diff -r b3e96bbe4ce4 -r 1599e696d947 esp-idf-lib/components/apds9930/apds9930.c --- a/esp-idf-lib/components/apds9930/apds9930.c Wed Apr 05 20:00:26 2023 +0200 +++ b/esp-idf-lib/components/apds9930/apds9930.c Thu Apr 06 13:22:03 2023 +0200 @@ -181,18 +181,18 @@ I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); /* Set ENABLE register to 0 (disable all features) */ - if (apds9930_setMode(dev, APDS9930_MODE_ALL, APDS9930_OFF) != ESP_OK) { + if (apds9930_setMode(dev, APDS9930_MODE_ALL | APDS9930_AUTO_INCREMENT, APDS9930_OFF) != ESP_OK) { ESP_LOGE(TAG, "apds9930_init() error 'Regs off'"); err = ESP_ERR_INVALID_ARG; } /* Set default values for ambient light and proximity registers */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_ATIME, APDS9930_DEFAULT_ATIME), "Default atime"); - CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_WTIME, APDS9930_DEFAULT_WTIME), "Default wtime"); - CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_PPULSE, APDS9930_DEFAULT_PPULSE), "Default ppulse"); - CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_POFFSET, APDS9930_DEFAULT_POFFSET), "Default poffset"); - CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_CONFIG, APDS9930_DEFAULT_CONFIG), "Default config"); + CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_ATIME | APDS9930_AUTO_INCREMENT, APDS9930_DEFAULT_ATIME), "Default atime"); + CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_WTIME | APDS9930_AUTO_INCREMENT, APDS9930_DEFAULT_WTIME), "Default wtime"); + CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_PPULSE | APDS9930_AUTO_INCREMENT, APDS9930_DEFAULT_PPULSE), "Default ppulse"); + CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_POFFSET | APDS9930_AUTO_INCREMENT, APDS9930_DEFAULT_POFFSET), "Default poffset"); + CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_CONFIG | APDS9930_AUTO_INCREMENT, APDS9930_DEFAULT_CONFIG), "Default config"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); CHECK_LOGE(dev, apds9930_setLEDDrive(dev, APDS9930_DEFAULT_PDRIVE), "Default pdrive"); @@ -205,7 +205,7 @@ CHECK_LOGE(dev, apds9930_setLightIntHighThreshold(dev, APDS9930_DEFAULT_AIHT), "Default aiht"); I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_PERS, APDS9930_DEFAULT_PERS), "Default pers"); + CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_PERS | APDS9930_AUTO_INCREMENT, APDS9930_DEFAULT_PERS), "Default pers"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return err; @@ -221,7 +221,7 @@ /* Read current ENABLE register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (read_reg_8_nolock(dev, APDS9930_ENABLE, &enable_value) != ESP_OK) { + if (read_reg_8_nolock(dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, &enable_value) != ESP_OK) { I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return APDS9930_ERROR; } @@ -238,7 +238,7 @@ // CHECK_ARG(dev); /* Read current ENABLE register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - I2C_DEV_CHECK(&dev->i2c_dev, read_reg_8_nolock(dev, APDS9930_ENABLE, ®_val)); + I2C_DEV_CHECK(&dev->i2c_dev, read_reg_8_nolock(dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, ®_val)); // i2c_dev_read_reg(&dev->i2c_dev, (uint8_t)APDS9930_ENABLE, ®_val, 1); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); ESP_LOGI(TAG, "apds9930_setMode(%d, %d) get=%02x", mode, enable, reg_val); @@ -262,7 +262,7 @@ ESP_LOGI(TAG, "apds9930_setMode write %02x", reg_val); /* Write value back to ENABLE register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - I2C_DEV_CHECK(&dev->i2c_dev, write_reg_8_nolock(dev, APDS9930_ENABLE, reg_val)); + I2C_DEV_CHECK(&dev->i2c_dev, write_reg_8_nolock(dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, reg_val)); // CHECK_LOGE(dev, write_register8(&dev->i2c_dev, APDS9930_ENABLE, reg_val), "Enable register"); // CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, (uint8_t)APDS9930_ENABLE, ®_val, 1), "Enable register"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); @@ -418,16 +418,16 @@ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); /* Read value from channel 0 */ - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, (uint8_t)APDS9930_Ch0DATAL, &val_byte, 1), "Read ch0 low"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, (uint8_t)APDS9930_Ch0DATAL | APDS9930_AUTO_INCREMENT, &val_byte, 1), "Read ch0 low"); ESP_LOGI(TAG, "l %02x", val_byte); *val = val_byte; - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, (uint8_t)APDS9930_Ch0DATAH, &val_byte, 1), "Read ch0 high"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, (uint8_t)APDS9930_Ch0DATAH | APDS9930_AUTO_INCREMENT, &val_byte, 1), "Read ch0 high"); ESP_LOGI(TAG, "h %02x", val_byte); *val += ((uint16_t)val_byte << 8); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); ESP_LOGI(TAG, "val %04x", *val); - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, (uint8_t)APDS9930_Ch0DATAL, &val_word, 2), "Read ch0 16"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, (uint8_t)APDS9930_Ch0DATAL | APDS9930_AUTO_INCREMENT, &val_word, 2), "Read ch0 16"); ESP_LOGI(TAG, "16 %04x", val_word); return ESP_OK; @@ -441,9 +441,9 @@ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); /* Read value from channel 1 */ - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_Ch1DATAL, &val_byte, 1), "Read ch1 low"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_Ch1DATAL | APDS9930_AUTO_INCREMENT, &val_byte, 1), "Read ch1 low"); *val = val_byte; - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_Ch1DATAH, &val_byte, 1), "Read ch1 high"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_Ch1DATAH | APDS9930_AUTO_INCREMENT, &val_byte, 1), "Read ch1 high"); *val += ((uint16_t)val_byte << 8); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); @@ -461,9 +461,9 @@ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); /* Read value from proximity data register */ - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PDATAL, &val_byte, 1), "Read proximity low"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PDATAL | APDS9930_AUTO_INCREMENT, &val_byte, 1), "Read proximity low"); *val = val_byte; - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PDATAH, &val_byte, 1), "Read proximity high"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PDATAH | APDS9930_AUTO_INCREMENT, &val_byte, 1), "Read proximity high"); *val += ((uint16_t)val_byte << 8); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); @@ -481,11 +481,11 @@ /* Read value from PILT register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PILTL, &val_byte, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PILTL | APDS9930_AUTO_INCREMENT, &val_byte, 1) != ESP_OK) { val = 0; } val = val_byte; - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PILTH, &val_byte, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PILTH | APDS9930_AUTO_INCREMENT, &val_byte, 1) != ESP_OK) { val = 0; } I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); @@ -503,8 +503,8 @@ lo = threshold & 0x00FF; I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PILTL, &lo, 1), "Write PILTL"); - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PILTH, &hi, 1), "Write PILTH"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PILTL | APDS9930_AUTO_INCREMENT, &lo, 1), "Write PILTL"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PILTH | APDS9930_AUTO_INCREMENT, &hi, 1), "Write PILTH"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -518,11 +518,11 @@ /* Read value from PIHT register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PIHTL, &val_byte, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PIHTL | APDS9930_AUTO_INCREMENT, &val_byte, 1) != ESP_OK) { val = 0; } val = val_byte; - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PIHTH, &val_byte, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_PIHTH | APDS9930_AUTO_INCREMENT, &val_byte, 1) != ESP_OK) { val = 0; } I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); @@ -540,8 +540,8 @@ lo = threshold & 0x00FF; I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PIHTL, &lo, 1), "Write PIHTL"); - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PIHTH, &hi, 1), "Write PIHTH"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PIHTL | APDS9930_AUTO_INCREMENT, &lo, 1), "Write PIHTL"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_PIHTH | APDS9930_AUTO_INCREMENT, &hi, 1), "Write PIHTH"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -554,7 +554,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1) != ESP_OK) { I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return APDS9930_ERROR;; } @@ -573,7 +573,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Read control"); /* Set bits in register to given value */ drive &= 0b00000011; @@ -582,7 +582,7 @@ val |= drive; /* Write register value back into CONTROL register */ - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Write control"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -595,7 +595,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1) != ESP_OK) { I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return APDS9930_ERROR;; } @@ -614,7 +614,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Read control"); /* Set bits in register to given value */ drive &= 0b00000011; @@ -623,7 +623,7 @@ val |= drive; /* Write register value back into CONTROL register */ - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Write control"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -636,7 +636,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1) != ESP_OK) { I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return APDS9930_ERROR;; } @@ -655,7 +655,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Read control"); /* Set bits in register to given value */ drive &= 0b00000011; @@ -664,7 +664,7 @@ val |= drive; /* Write register value back into CONTROL register */ - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Write control"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -677,7 +677,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1) != ESP_OK) { I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return APDS9930_ERROR;; } @@ -696,7 +696,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Read control"); /* Set bits in register to given value */ drive &= 0b00000011; @@ -704,7 +704,7 @@ val |= drive; /* Write register value back into CONTROL register */ - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Write control"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -717,7 +717,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1) != ESP_OK) { I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return APDS9930_ERROR;; } @@ -736,7 +736,7 @@ /* Read value from CONTROL register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Read control"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Read control"); /* Set bits in register to given value */ enable &= 0b00000001; @@ -745,7 +745,7 @@ val |= enable; /* Write register value back into CONTROL register */ - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL, &val, 1), "Write control"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_CONTROL | APDS9930_AUTO_INCREMENT, &val, 1), "Write control"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -759,11 +759,11 @@ /* Read value from ambient light low threshold, low byte register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AILTL, &val_byte, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AILTL | APDS9930_AUTO_INCREMENT, &val_byte, 1) != ESP_OK) { *threshold = 0; } *threshold = val_byte; - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AILTH, &val_byte, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AILTH | APDS9930_AUTO_INCREMENT, &val_byte, 1) != ESP_OK) { *threshold = 0; } I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); @@ -783,8 +783,8 @@ val_high = (threshold & 0xFF00) >> 8; I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AILTL, &val_low, 1), "Write AILTL"); - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AILTH, &val_high, 1), "Write AILTH"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AILTL | APDS9930_AUTO_INCREMENT, &val_low, 1), "Write AILTL"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AILTH | APDS9930_AUTO_INCREMENT, &val_high, 1), "Write AILTH"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -798,11 +798,11 @@ /* Read value from ambient light high threshold, low byte register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AIHTL, &val_byte, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AIHTL | APDS9930_AUTO_INCREMENT, &val_byte, 1) != ESP_OK) { *threshold = 0; } *threshold = val_byte; - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AIHTH, &val_byte, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_AIHTH | APDS9930_AUTO_INCREMENT, &val_byte, 1) != ESP_OK) { *threshold = 0; } I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); @@ -822,8 +822,8 @@ val_high = (threshold & 0xFF00) >> 8; I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AIHTL, &val_low, 1), "Write AIHTL"); - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AIHTH, &val_high, 1), "Write AIHTH"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AIHTL | APDS9930_AUTO_INCREMENT, &val_low, 1), "Write AIHTL"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_AIHTH | APDS9930_AUTO_INCREMENT, &val_high, 1), "Write AIHTH"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -836,7 +836,7 @@ /* Read value from ENABLE register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, &val, 1) != ESP_OK) { I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return APDS9930_ERROR;; } @@ -855,7 +855,7 @@ /* Read value from ENABLE register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1), "Read enable"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, &val, 1), "Read enable"); /* Set bits in register to given value */ enable &= 0b00000001; @@ -864,7 +864,7 @@ val |= enable; /* Write register value back into ENABLE register */ - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1), "Write enable"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, &val, 1), "Write enable"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK; @@ -877,7 +877,7 @@ /* Read value from ENABLE register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1) != ESP_OK) { + if (i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, &val, 1) != ESP_OK) { I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return APDS9930_ERROR;; } @@ -896,7 +896,7 @@ /* Read value from ENABLE register */ I2C_DEV_TAKE_MUTEX(&dev->i2c_dev); - CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1), "Read enable"); + CHECK_LOGE(dev, i2c_dev_read_reg(&dev->i2c_dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, &val, 1), "Read enable"); /* Set bits in register to given value */ enable &= 0b00000001; @@ -905,7 +905,7 @@ val |= enable; /* Write register value back into ENABLE register */ - CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_ENABLE, &val, 1), "Write enable"); + CHECK_LOGE(dev, i2c_dev_write_reg(&dev->i2c_dev, APDS9930_ENABLE | APDS9930_AUTO_INCREMENT, &val, 1), "Write enable"); I2C_DEV_GIVE_MUTEX(&dev->i2c_dev); return ESP_OK;