# ST Microelectronics LPS22HH pressure and temperature sensor

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

menuconfig LPS22HH
	bool "LPS22HH pressure and temperature"
	depends on (I2C && HAS_DTS_I2C) || SPI
	select HAS_STMEMSC
	select USE_STDC_LPS22HH
	help
	  Enable driver for LPS22HH I2C-based pressure and temperature
	  sensor.

if LPS22HH

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

config LPS22HH_TRIGGER_NONE
	bool "No trigger"

config LPS22HH_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	select LPS22HH_TRIGGER

config LPS22HH_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	select LPS22HH_TRIGGER

endchoice # LPS22HH_TRIGGER_MODE

config LPS22HH_TRIGGER
	bool

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

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

menu "Attributes"

config LPS22HH_SAMPLING_RATE
	int "Output data rate"
	range 0 7
	default 0
	help
	  Sensor output data rate expressed in samples per second.
	  Data rates supported by the chip are:
	  0: ODR selected at runtime
	  1: 1Hz
	  2: 10Hz
	  3: 25Hz
	  4: 50Hz
	  5: 75Hz
	  6: 100Hz
	  7: 200Hz

endmenu

endif # LPS22HH
