1# Sensor configuration options
2
3# Copyright (c) 2016 Intel Corporation
4# Copyright (c) 2024 Croxel Inc
5# SPDX-License-Identifier: Apache-2.0
6
7menuconfig SENSOR
8	bool "Sensor drivers"
9	help
10	  Include sensor drivers in system config
11
12if SENSOR
13
14module = SENSOR
15module-str = sensor
16source "subsys/logging/Kconfig.template.log_config"
17
18config SENSOR_INIT_PRIORITY
19	int "Sensor init priority"
20	default 90
21	help
22	  Sensor initialization priority.
23
24config SENSOR_ASYNC_API
25	bool "Async Sensor API"
26	select RTIO
27	select RTIO_SYS_MEM_BLOCKS
28	select RTIO_CONSUME_SEM
29	select RTIO_WORKQ
30	help
31	  Enables the asynchronous sensor API by leveraging the RTIO subsystem.
32
33config SENSOR_SHELL
34	bool "Sensor shell"
35	depends on SHELL
36	select CBPRINTF_FP_SUPPORT
37	select SENSOR_ASYNC_API
38	help
39	  This shell provides access to basic sensor data.
40
41config SENSOR_SHELL_STREAM
42	bool "Sensor shell 'stream' command"
43	depends on SENSOR_SHELL
44	help
45	  Add the 'stream' subcommand to the sensor shell. When run on drivers that
46	  support streaming (usually hardware FIFO backed), the shell will continue
47	  to print new values as they come until the stream is closed.
48
49config SENSOR_SHELL_THREAD_STACK_SIZE
50	int "Stack size for the sensor shell data processing thread"
51	depends on SENSOR_SHELL_STREAM
52	default 1024
53	help
54	  The sensor shell uses a dedicated thread to process data coming from the
55	  sensors in either one-shot or streaming mode. Use this config to control
56	  the size of that thread's stack.
57
58config SENSOR_SHELL_BATTERY
59	bool "Sensor shell 'battery' command"
60	depends on SHELL
61	help
62	  This enables the 'battery' command which reports charging information
63	  in a convenient format. It makes use of a fuel gauge to read its
64	  information.
65
66config SENSOR_SHELL_TRIG_PRINT_TIMEOUT_MS
67	int "Timeout for printing the average sensor sample value"
68	default 5000
69	depends on SENSOR_SHELL
70	help
71	  Control the frequency of the sampling window over which the sensor
72	  interrupt handler will collect data.
73
74config SENSOR_SHELL_MAX_TRIGGER_DEVICES
75	int "Maximum number of sensor devices that can have enabled triggers in shell"
76	default 1
77	depends on SENSOR_SHELL
78	help
79	  Maximum number of sensor devices that the shell cmd can have
80	  enabled triggers for.
81
82config SENSOR_INFO
83	bool "Sensor Info iterable section"
84
85comment "Device Drivers"
86
87# zephyr-keep-sorted-start
88source "drivers/sensor/adi/Kconfig"
89source "drivers/sensor/ams/Kconfig"
90source "drivers/sensor/aosong/Kconfig"
91source "drivers/sensor/asahi_kasei/Kconfig"
92source "drivers/sensor/bosch/Kconfig"
93source "drivers/sensor/espressif/Kconfig"
94source "drivers/sensor/honeywell/Kconfig"
95source "drivers/sensor/infineon/Kconfig"
96source "drivers/sensor/ite/Kconfig"
97source "drivers/sensor/maxim/Kconfig"
98source "drivers/sensor/meas/Kconfig"
99source "drivers/sensor/microchip/Kconfig"
100source "drivers/sensor/nordic/Kconfig"
101source "drivers/sensor/nuvoton/Kconfig"
102source "drivers/sensor/nxp/Kconfig"
103source "drivers/sensor/rohm/Kconfig"
104source "drivers/sensor/seeed/Kconfig"
105source "drivers/sensor/sensirion/Kconfig"
106source "drivers/sensor/silabs/Kconfig"
107source "drivers/sensor/st/Kconfig"
108source "drivers/sensor/ti/Kconfig"
109source "drivers/sensor/vishay/Kconfig"
110source "drivers/sensor/wsen/Kconfig"
111# zephyr-keep-sorted-stop
112
113source "drivers/sensor/a01nyub/Kconfig"
114source "drivers/sensor/amd_sb_tsi/Kconfig"
115source "drivers/sensor/amg88xx/Kconfig"
116source "drivers/sensor/apds9960/Kconfig"
117source "drivers/sensor/current_amp/Kconfig"
118source "drivers/sensor/ens160/Kconfig"
119source "drivers/sensor/explorir_m/Kconfig"
120source "drivers/sensor/f75303/Kconfig"
121source "drivers/sensor/fcx_mldx5/Kconfig"
122source "drivers/sensor/grow_r502a/Kconfig"
123source "drivers/sensor/hp206c/Kconfig"
124source "drivers/sensor/hs300x/Kconfig"
125source "drivers/sensor/tdk/icm42605/Kconfig"
126source "drivers/sensor/tdk/icm42670/Kconfig"
127source "drivers/sensor/tdk/icm42688/Kconfig"
128source "drivers/sensor/tdk/icp10125/Kconfig"
129source "drivers/sensor/isl29035/Kconfig"
130source "drivers/sensor/ist8310/Kconfig"
131source "drivers/sensor/lm35/Kconfig"
132source "drivers/sensor/lm75/Kconfig"
133source "drivers/sensor/lm77/Kconfig"
134source "drivers/sensor/ltrf216a/Kconfig"
135source "drivers/sensor/mc3419/Kconfig"
136source "drivers/sensor/mhz19b/Kconfig"
137source "drivers/sensor/tdk/mpu6050/Kconfig"
138source "drivers/sensor/tdk/mpu9250/Kconfig"
139source "drivers/sensor/nct75/Kconfig"
140source "drivers/sensor/ntc_thermistor/Kconfig"
141source "drivers/sensor/pms7003/Kconfig"
142source "drivers/sensor/qdec_sam/Kconfig"
143source "drivers/sensor/rpi_pico_temp/Kconfig"
144source "drivers/sensor/s11059/Kconfig"
145source "drivers/sensor/sbs_gauge/Kconfig"
146source "drivers/sensor/sx9500/Kconfig"
147source "drivers/sensor/th02/Kconfig"
148source "drivers/sensor/tsic_xx6/Kconfig"
149source "drivers/sensor/veaa_x_3/Kconfig"
150source "drivers/sensor/voltage_divider/Kconfig"
151source "drivers/sensor/ene_tach_kb1200/Kconfig"
152
153endif # SENSOR
154