tsl2591 - Driver for light-to-digital converter TSL2591
- group tsl2591
ESP-IDF driver for TSL2591 light-to-digital.
Copyright (c) 2020 Julian Doerner https://github.com/juliandoerner
MIT Licensed as described in the file LICENSE
Defines
-
TSL2591_I2C_ADDR
Enums
-
enum tsl2591_power_status_t
Power status.
The sensor measures only if ALS an Power is on.
Values:
-
enumerator TSL2591_POWER_OFF
-
enumerator TSL2591_POWER_ON
Default.
-
enumerator TSL2591_POWER_OFF
-
enum tsl2591_als_status_t
ALS status.
The sensor measures only if ALS and Power is on.
Values:
-
enumerator TSL2591_ALS_OFF
-
enumerator TSL2591_ALS_ON
Default.
-
enumerator TSL2591_ALS_OFF
-
enum tsl2591_interrupt_t
Interrupts.
TSL2591 has two interrupt sources. Check the datasheet for details.
Values:
-
enumerator TSL2591_INTR_OFF
Default.
-
enumerator TSL2591_ALS_INTR_ON
-
enumerator TSL2591_ALS_INTR_NP_ON
-
enumerator TSL2591_ALS_INTR_BOTH_ON
-
enumerator TSL2591_INTR_OFF
-
enum tsl2591_sleep_after_intr_t
Interrupt sleep setting.
Values:
-
enumerator TSL2591_SLEEP_AFTER_OFF
Default.
-
enumerator TSL2591_SLEEP_AFTER_ON
-
enumerator TSL2591_SLEEP_AFTER_OFF
-
enum tsl2591_integration_time_t
Integration time.
Values:
-
enumerator TSL2591_INTEGRATION_100MS
Default.
-
enumerator TSL2591_INTEGRATION_200MS
-
enumerator TSL2591_INTEGRATION_300MS
-
enumerator TSL2591_INTEGRATION_400MS
-
enumerator TSL2591_INTEGRATION_500MS
-
enumerator TSL2591_INTEGRATION_600MS
-
enumerator TSL2591_INTEGRATION_100MS
-
enum tsl2591_gain_t
Gain.
Values:
-
enumerator TSL2591_GAIN_LOW
Default.
-
enumerator TSL2591_GAIN_MEDIUM
-
enumerator TSL2591_GAIN_HIGH
-
enumerator TSL2591_GAIN_MAX
-
enumerator TSL2591_GAIN_LOW
-
enum tsl2591_persistence_filter_t
Persistence filter.
Values:
-
enumerator TSL2591_EVERY_CYCLE
Default.
-
enumerator TSL2591_NO_PERSIST
-
enumerator TSL2591_2_CYCLES
-
enumerator TSL2591_3_CYCLES
-
enumerator TSL2591_5_CYCLES
-
enumerator TSL2591_10_CYCLES
-
enumerator TSL2591_15_CYCLES
-
enumerator TSL2591_20_CYCLES
-
enumerator TSL2591_25_CYCLES
-
enumerator TSL2591_30_CYCLES
-
enumerator TSL2591_35_CYCLES
-
enumerator TSL2591_40_CYCLES
-
enumerator TSL2591_45_CYCLES
-
enumerator TSL2591_50_CYCLES
-
enumerator TSL2591_55_CYCLES
-
enumerator TSL2591_60_CYCLES
-
enumerator TSL2591_EVERY_CYCLE
Functions
-
esp_err_t tsl2591_init_desc(tsl2591_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
Initialize device descriptor.
- Parameters:
dev – Device descriptor
port – I2C port
sda_gpio – SDA GPIO pin
scl_gpio – SCL GPIO pin
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_free_desc(tsl2591_t *dev)
Free device descriptor.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_init(tsl2591_t *dev)
Initialize device.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_channel_data(tsl2591_t *dev, uint16_t *channel0, uint16_t *channel1)
Read channel data.
- Parameters:
dev – Device descriptor
channel0 – [out] Channel 0 data
channel1 – [out] Channel 1 data
-
esp_err_t tsl2591_calculate_lux(tsl2591_t *dev, uint16_t channel0, uint16_t channel1, float *lux)
Calculate light intensity from channels.
- Parameters:
dev – Device descriptor
channel0 – Channel0 data
channel1 – Channel1 data
lux – [out] Light intensity
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_lux(tsl2591_t *dev, float *lux)
Get and calculate light intensity.
- Parameters:
dev – Device descriptor
lux – [out] Light intensity
- Returns:
ESP_OK
-
esp_err_t tsl2591_set_power_status(tsl2591_t *dev, tsl2591_power_status_t power_status)
Set device power status.
- Parameters:
dev – Device descriptor
power_status – Power status
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_power_status(tsl2591_t *dev, tsl2591_power_status_t *power_status)
Get device power status.
- Parameters:
dev – Device descriptor
power_status – [out] Power status
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_set_als_status(tsl2591_t *dev, tsl2591_als_status_t als_status)
Set device ALS status.
- Parameters:
dev – Device descriptor
als_status – Als status
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_als_status(tsl2591_t *dev, tsl2591_als_status_t *als_status)
Get device ALS status.
- Parameters:
dev – Device descriptor
als_status – [out] Als status
- Returns:
ESP_OK
-
esp_err_t tsl2591_set_interrupt(tsl2591_t *dev, tsl2591_interrupt_t interrupt)
Set device interrupt mode.
- Parameters:
dev – Device descriptor
interrupt – interrupt mode
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_interrupt(tsl2591_t *dev, tsl2591_interrupt_t *interrupt)
Get device interrupt mode.
- Parameters:
dev – Device descriptor
interrupt – [out] interrupt mode
- Returns:
ESP_OK
-
esp_err_t tsl2591_set_sleep_after_intr(tsl2591_t *dev, tsl2591_sleep_after_intr_t sleep_after_intr)
Set sleeping after interrupt.
- Parameters:
dev – Device descriptor
sleep_after_intr – Sleeping after interrupt
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_sleep_after_intr(tsl2591_t *dev, tsl2591_sleep_after_intr_t *sleep_after_intr)
Get sleeping after interrupt setting.
- Parameters:
dev – Device descriptor
sleep_after_intr – [out] Sleeping after interrupt
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_set_integration_time(tsl2591_t *dev, tsl2591_integration_time_t integration_time)
Set device integration time.
- Parameters:
dev – Device descriptor
integration_time – Integration time
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_integration_time(tsl2591_t *dev, tsl2591_integration_time_t *integration_time)
Get device integration time.
- Parameters:
dev – Device descriptor
integration_time – [out] Integration time
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_set_gain(tsl2591_t *dev, tsl2591_gain_t gain)
Set device gain.
- Parameters:
dev – Device descriptor
gain – Gain
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_gain(tsl2591_t *dev, tsl2591_gain_t *gain)
Get device gain.
- Parameters:
dev – Device descriptor
gain – [out] Gain
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_set_persistence_filter(tsl2591_t *dev, tsl2591_persistence_filter_t filter)
Set device persistence filter.
- Parameters:
dev – Device descriptor
filter – Persistence filter
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_persistence_filter(tsl2591_t *dev, tsl2591_persistence_filter_t *filter)
Get device persistence filter.
- Parameters:
dev – Device descriptor
filter – [out] Persistence filter
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_als_set_low_threshold(tsl2591_t *dev, uint16_t low_threshold)
Set ALS interrupt low threshold.
- Parameters:
dev – Device descriptor
low_threshold – Low threshold
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_als_set_high_threshold(tsl2591_t *dev, uint16_t high_threshold)
Set ALS interrupt high threshold.
- Parameters:
dev – Device descriptor
high_threshold – High threshold
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_no_persist_set_low_threshold(tsl2591_t *dev, uint16_t low_threshold)
Set no persist ALS interrupt low threshold.
- Parameters:
dev – Device descriptor
low_threshold – Low threshold
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_no_persist_set_high_threshold(tsl2591_t *dev, uint16_t high_threshold)
Set no persist ALS interrupt high threshold.
- Parameters:
dev – Device descriptor
high_threshold – High threshold
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_set_test_intr(tsl2591_t *dev)
Set interrupt.
At least on interrupt must be enabled.
- Parameters:
dev – Device descriptor
- Returns:
ESP_PK
on success
-
esp_err_t tsl2591_clear_als_intr(tsl2591_t *dev)
Clear ALS interrupt.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_clear_als_np_intr(tsl2591_t *dev)
Clear ALS no persist interrupt.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_clear_both_intr(tsl2591_t *dev)
Clear both interrupts.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t tsl2591_get_np_intr_flag(tsl2591_t *dev, bool *flag)
Get ALS no persist interrupt flag.
- Parameters:
dev – Device descriptor
flag – [out] Interrupt flag
- Returns:
ESP_OK
on success
-
struct tsl2591_t
- #include <tsl2591.h>
Device descriptor.
-
TSL2591_I2C_ADDR