# Kconfig - 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"
	depends on I2C
	default n
	help
	  Enable driver for AMG88XX infrared thermopile sensor.

if AMG88XX

config AMG88XX_NAME
	string "Driver name"
	default "AMG88XX"
	help
	  Device name identifying the AMG88XX sensor.

config AMG88XX_I2C_ADDR
	hex "I2C address for AMG88XX Sensor"
	default "0x68"
	range 0x68 0x69
	help
	  I2C address of the AMG88XX sensor.

	  0x68: AD-SELECT connected GND
	  0x69: AD-SELECT connected VDD

config AMG88XX_I2C_MASTER_DEV_NAME
	string "I2C master where AMG88XX is connected"
	default "I2C_0"
	help
	  The I2C master device's name where the AMG88XX sensor is connected.

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_GPIO_DEV_NAME
	string "GPIO device"
	default "GPIO_0"
	depends on AMG88XX_TRIGGER
	help
	  The GPIO device's name where the AMG88XX interrupt (alert) pin is
	  connected.

config AMG88XX_GPIO_PIN_NUM
	int "Interrupt GPIO pin number"
	default 0
	depends on AMG88XX_TRIGGER
	help
	  The GPIO pin number receiving the interrupt signal from the
	  AMG88XX sensor.

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 #if AMG88XX
