blob: e6f10678c01b9c43a5965f368315a0f5f22a6426 [file] [log] [blame]
# ISL29035 light sensor configuration options
# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
menuconfig ISL29035
bool "ISL29035 light sensor"
default y
depends on DT_HAS_ISIL_ISL29035_ENABLED
select I2C
help
Enable driver for the ISL29035 light sensor.
if ISL29035
config ISL29035_THREAD_PRIORITY
int "Thread priority"
default 10
help
Priority of thread used to handle the timer and threshold triggers.
choice
prompt "Full scale lux range"
default ISL29035_LUX_RANGE_1K
help
Maximum allowable lux value. Lower range values offer better
resolution.
config ISL29035_LUX_RANGE_1K
bool "1000"
config ISL29035_LUX_RANGE_4K
bool "4000"
config ISL29035_LUX_RANGE_16K
bool "16000"
config ISL29035_LUX_RANGE_64K
bool "64000"
endchoice
choice
prompt "Integration time"
default ISL29035_INTEGRATION_TIME_105K
help
The sampling period of the internal ADC of the light sensor.
Lower integration time values mean lower ADC resolution.
config ISL29035_INTEGRATION_TIME_26
bool "0.0256 ms"
config ISL29035_INTEGRATION_TIME_410
bool "0.41 ms"
config ISL29035_INTEGRATION_TIME_6500
bool "6.5 ms"
config ISL29035_INTEGRATION_TIME_105K
bool "105 ms"
endchoice
choice
prompt "Active sensing mode"
default ISL29035_MODE_ALS
help
Sensing mode in which the ISL29035 will function. The chip can be
configured either for either ambient light or infrared sensing.
config ISL29035_MODE_ALS
bool "ambient light"
help
Sensing mode for ambient light spectrum.
config ISL29035_MODE_IR
bool "infrared"
help
Sensing mode for infrared spectrum.
endchoice
choice
prompt "Trigger mode"
depends on ISL29035_MODE_ALS && GPIO
default ISL29035_TRIGGER_NONE
help
Specify the type of triggering to be used by the driver.
Only available for ambient light sensing mode.
config ISL29035_TRIGGER_NONE
bool "No trigger"
config ISL29035_TRIGGER_GLOBAL_THREAD
bool "Use global thread"
depends on GPIO
depends on $(dt_compat_any_has_prop,$(DT_COMPAT_ISIL_ISL29035),int-gpios)
select ISL29035_TRIGGER
config ISL29035_TRIGGER_OWN_THREAD
bool "Use own thread"
depends on GPIO
depends on $(dt_compat_any_has_prop,$(DT_COMPAT_ISIL_ISL29035),int-gpios)
select ISL29035_TRIGGER
endchoice
config ISL29035_TRIGGER
bool
config ISL29035_THREAD_PRIORITY
int "Thread priority"
depends on ISL29035_TRIGGER_OWN_THREAD
default 10
help
Priority of thread used by the driver to handle interrupts.
config ISL29035_THREAD_STACK_SIZE
int "Thread stack size"
depends on ISL29035_TRIGGER_OWN_THREAD
default 1024
help
Stack size of thread used by the driver to handle interrupts.
choice
prompt "Interrupt persist cycles"
depends on ISL29035_TRIGGER
default ISL29035_INT_PERSIST_1
help
Number of consecutive integration cycles for which the data samples
need to remain outside the threshold window in order for the interrupt
to be triggered.
config ISL29035_INT_PERSIST_1
bool "1"
config ISL29035_INT_PERSIST_4
bool "4"
config ISL29035_INT_PERSIST_8
bool "8"
config ISL29035_INT_PERSIST_16
bool "16"
endchoice
endif # ISL29035