# CCS811 Digital Gas sensor configuration options

# Copyright (c) 2018 Linaro Ltd.
# Copyright (c) 2018 Peter Bigot Consulting, LLC
#
# SPDX-License-Identifier: Apache-2.0

menuconfig CCS811
	bool "CCS811 Digital Gas Sensor"
	default y
	depends on DT_HAS_AMS_CCS811_ENABLED
	depends on I2C
	help
	  Enable driver for CCS811 Gas sensors.

if CCS811

choice CCS811_DRIVE_MODE
	prompt "Measurement drive mode"
	default CCS811_DRIVE_MODE_1
	help
	  Specifies the measurement rate used by the driver.

config CCS811_DRIVE_MODE_0
	bool "Measurements disabled"

config CCS811_DRIVE_MODE_1
	bool "Measurement every second"

config CCS811_DRIVE_MODE_2
	bool "Measurement every ten seconds"

config CCS811_DRIVE_MODE_3
	bool "Measurement every sixty seconds"

config CCS811_DRIVE_MODE_4
	bool "Measurement every 250 milliseconds"

endchoice

config CCS811_TRIGGER
	bool

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

config CCS811_TRIGGER_NONE
	bool "No trigger"

config CCS811_TRIGGER_GLOBAL_THREAD
	bool "Use global thread"
	depends on GPIO
	select CCS811_TRIGGER

config CCS811_TRIGGER_OWN_THREAD
	bool "Use own thread"
	depends on GPIO
	select CCS811_TRIGGER

endchoice

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

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

endif # CCS811
