# Sensor configuration options

# Copyright (c) 2016 Intel Corporation
# Copyright (c) 2024 Croxel Inc
# SPDX-License-Identifier: Apache-2.0

menuconfig SENSOR
	bool "Sensor drivers"
	help
	  Include sensor drivers in system config

if SENSOR

module = SENSOR
module-str = sensor
source "subsys/logging/Kconfig.template.log_config"

config SENSOR_INIT_PRIORITY
	int "Sensor init priority"
	default 90
	help
	  Sensor initialization priority.

config SENSOR_ASYNC_API
	bool "Async Sensor API"
	select RTIO
	select RTIO_SYS_MEM_BLOCKS
	select RTIO_CONSUME_SEM
	select RTIO_WORKQ
	help
	  Enables the asynchronous sensor API by leveraging the RTIO subsystem.

config SENSOR_SHELL
	bool "Sensor shell"
	depends on SHELL
	select CBPRINTF_FP_SUPPORT
	select SENSOR_ASYNC_API
	help
	  This shell provides access to basic sensor data.

config SENSOR_SHELL_STREAM
	bool "Sensor shell 'stream' command"
	depends on SENSOR_SHELL
	help
	  Add the 'stream' subcommand to the sensor shell. When run on drivers that
	  support streaming (usually hardware FIFO backed), the shell will continue
	  to print new values as they come until the stream is closed.

config SENSOR_SHELL_THREAD_STACK_SIZE
	int "Stack size for the sensor shell data processing thread"
	depends on SENSOR_SHELL_STREAM
	default 1024
	help
	  The sensor shell uses a dedicated thread to process data coming from the
	  sensors in either one-shot or streaming mode. Use this config to control
	  the size of that thread's stack.

config SENSOR_SHELL_BATTERY
	bool "Sensor shell 'battery' command"
	depends on SHELL
	help
	  This enables the 'battery' command which reports charging information
	  in a convenient format. It makes use of a fuel gauge to read its
	  information.

config SENSOR_SHELL_TRIG_PRINT_TIMEOUT_MS
	int "Timeout for printing the average sensor sample value"
	default 5000
	depends on SENSOR_SHELL
	help
	  Control the frequency of the sampling window over which the sensor
	  interrupt handler will collect data.

config SENSOR_SHELL_MAX_TRIGGER_DEVICES
	int "Maximum number of sensor devices that can have enabled triggers in shell"
	default 1
	depends on SENSOR_SHELL
	help
	  Maximum number of sensor devices that the shell cmd can have
	  enabled triggers for.

config SENSOR_INFO
	bool "Sensor Info iterable section"

source "drivers/sensor/Kconfig.sensor_clock"

comment "Device Drivers"

# zephyr-keep-sorted-start
source "drivers/sensor/adi/Kconfig"
source "drivers/sensor/als31300/Kconfig"
source "drivers/sensor/ams/Kconfig"
source "drivers/sensor/aosong/Kconfig"
source "drivers/sensor/asahi_kasei/Kconfig"
source "drivers/sensor/bosch/Kconfig"
source "drivers/sensor/broadcom/Kconfig"
source "drivers/sensor/espressif/Kconfig"
source "drivers/sensor/everlight/Kconfig"
source "drivers/sensor/honeywell/Kconfig"
source "drivers/sensor/infineon/Kconfig"
source "drivers/sensor/ite/Kconfig"
source "drivers/sensor/jedec/Kconfig"
source "drivers/sensor/liteon/Kconfig"
source "drivers/sensor/maxim/Kconfig"
source "drivers/sensor/meas/Kconfig"
source "drivers/sensor/melexis/Kconfig"
source "drivers/sensor/memsic/Kconfig"
source "drivers/sensor/microchip/Kconfig"
source "drivers/sensor/nordic/Kconfig"
source "drivers/sensor/nuvoton/Kconfig"
source "drivers/sensor/nxp/Kconfig"
source "drivers/sensor/omron/Kconfig"
source "drivers/sensor/pixart/Kconfig"
source "drivers/sensor/pni/Kconfig"
source "drivers/sensor/realtek/Kconfig"
source "drivers/sensor/renesas/Kconfig"
source "drivers/sensor/rohm/Kconfig"
source "drivers/sensor/seeed/Kconfig"
source "drivers/sensor/sensirion/Kconfig"
source "drivers/sensor/silabs/Kconfig"
source "drivers/sensor/st/Kconfig"
source "drivers/sensor/tdk/Kconfig"
source "drivers/sensor/ti/Kconfig"
source "drivers/sensor/vishay/Kconfig"
source "drivers/sensor/wsen/Kconfig"
# zephyr-keep-sorted-stop

# zephyr-keep-sorted-start
source "drivers/sensor/a01nyub/Kconfig"
source "drivers/sensor/amd_sb_tsi/Kconfig"
source "drivers/sensor/amg88xx/Kconfig"
source "drivers/sensor/apds9253/Kconfig"
source "drivers/sensor/apds9306/Kconfig"
source "drivers/sensor/apds9960/Kconfig"
source "drivers/sensor/current_amp/Kconfig"
source "drivers/sensor/ene_tach_kb1200/Kconfig"
source "drivers/sensor/ens160/Kconfig"
source "drivers/sensor/explorir_m/Kconfig"
source "drivers/sensor/f75303/Kconfig"
source "drivers/sensor/fcx_mldx5/Kconfig"
source "drivers/sensor/grow_r502a/Kconfig"
source "drivers/sensor/hc_sr04/Kconfig"
source "drivers/sensor/hp206c/Kconfig"
source "drivers/sensor/ist8310/Kconfig"
source "drivers/sensor/lm35/Kconfig"
source "drivers/sensor/lm75/Kconfig"
source "drivers/sensor/lm77/Kconfig"
source "drivers/sensor/mb7040/Kconfig"
source "drivers/sensor/mhz19b/Kconfig"
source "drivers/sensor/nct75/Kconfig"
source "drivers/sensor/ntc_thermistor/Kconfig"
source "drivers/sensor/pms7003/Kconfig"
source "drivers/sensor/pzem004t/Kconfig"
source "drivers/sensor/qdec_sam/Kconfig"
source "drivers/sensor/rpi_pico_temp/Kconfig"
source "drivers/sensor/s11059/Kconfig"
source "drivers/sensor/sbs_gauge/Kconfig"
source "drivers/sensor/sx9500/Kconfig"
source "drivers/sensor/tach_gpio/Kconfig"
source "drivers/sensor/th02/Kconfig"
source "drivers/sensor/tsic_xx6/Kconfig"
source "drivers/sensor/veaa_x_3/Kconfig"
source "drivers/sensor/voltage_divider/Kconfig"
source "drivers/sensor/xbr818/Kconfig"
# zephyr-keep-sorted-stop

endif # SENSOR
