# AMG88XX infrared thermopile sensor configuration options

# Copyright (c) 2017 Phytec Messtechnik GmbH
# SPDX-License-Identifier: Apache-2.0

menuconfig AMG88XX
	bool "AMG88XX Infrared Thermopile Sensor"
	default y
	depends on DT_HAS_PANASONIC_AMG88XX_ENABLED
	select I2C
	help
	  Enable driver for AMG88XX infrared thermopile sensor.

if AMG88XX

choice
	prompt "Trigger mode"
	default AMG88XX_TRIGGER_NONE
	help
	  Specify the type of triggering used by the driver.

config AMG88XX_TRIGGER_NONE
	bool "No trigger"

config AMG88XX_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	select AMG88XX_TRIGGER

config AMG88XX_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	select AMG88XX_TRIGGER

endchoice

config AMG88XX_TRIGGER
	bool

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

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

endif # AMG88XX
