# ST Microelectronics STTS751 temperature sensor

# Copyright (c) 2019 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0

menuconfig STTS751
	bool "STTS751 temperature sensor"
	default y
	depends on DT_HAS_ST_STTS751_ENABLED
	depends on ZEPHYR_HAL_ST_MODULE
	select I2C
	select HAS_STMEMSC
	select USE_STDC_STTS751
	help
	  Enable driver for STTS751 I2C-based temperature sensor.

if STTS751

choice STTS751_TRIGGER_MODE
	prompt "Trigger mode"
	default STTS751_TRIGGER_GLOBAL_THREAD
	help
	  Specify the type of triggering to be used by the driver.

config STTS751_TRIGGER_NONE
	bool "No trigger"

config STTS751_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_ST_STTS751),drdy-gpios)
	select STTS751_TRIGGER

config STTS751_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	depends on $(dt_compat_any_has_prop,$(DT_COMPAT_ST_STTS751),drdy-gpios)
	select STTS751_TRIGGER

endchoice # STTS751_TRIGGER_MODE

config STTS751_TRIGGER
	bool

config STTS751_THREAD_PRIORITY
	int "Thread priority"
	depends on STTS751_TRIGGER_OWN_THREAD
	default 10
	help
	  Priority of thread used by the driver to handle interrupts.

config STTS751_THREAD_STACK_SIZE
	int "Thread stack size"
	depends on STTS751_TRIGGER_OWN_THREAD
	default 1024
	help
	  Stack size of thread used by the driver to handle interrupts.

menu "Attributes"

config STTS751_TEMP_HI_THRESHOLD
	depends on STTS751_TRIGGER
	int "High temperature threshold alarm"
	default 50
	help
	  HIGH temperature threshold to trigger an alarm

config STTS751_TEMP_LO_THRESHOLD
	depends on STTS751_TRIGGER
	int "Low temperature threshold alarm"
	default 10
	help
	  LOW temperature threshold to trigger an alarm

config STTS751_SAMPLING_RATE
	int "Output data rate"
	range 0 9
	default 4
	help
	  Sensor output data rate expressed in conversions per second.
	  Data rates supported by the chip are:
	  0:  1 conv  every 16 sec
	  1:  1 conv  every 8 sec
	  2:  1 conv  every 4 sec
	  3:  1 conv  every 2 sec
	  4:  1 conv  every sec
	  5:  2 convs every sec
	  6:  4 convs every sec
	  7:  8 convs every sec
	  8: 16 convs every sec
	  9: 32 convs every sec

endmenu

endif # STTS751
