# BME680 temperature, pressure, humidity and gas sensor configuration options

# Copyright (c) 2018 Bosch Sensortec GmbH
# SPDX-License-Identifier: Apache-2.0

menuconfig BME680
	bool "BME680 sensor"
	depends on I2C
	help
	  Enable driver for BME680 I2C-based based temperature, pressure, humidity and gas sensor.

if BME680

menu "BME680 Attributes"

choice
	prompt "BME680 temperature oversampling"
	default BME680_TEMP_OVER_2X
	help
	  Select temperature oversampling for the BME680 sensor.  Higher values
	  lead to more accurate readings, but higher power consumption.
config BME680_TEMP_OVER_1X
	bool "x1"
config BME680_TEMP_OVER_2X
	bool "x2"
config BME680_TEMP_OVER_4X
	bool "x4"
config BME680_TEMP_OVER_8X
	bool "x8"
config BME680_TEMP_OVER_16X
	bool "x16"
endchoice

choice
	prompt "BME680 pressure oversampling"
	default BME680_PRESS_OVER_16X
	help
	  Select pressure oversampling for the BME680 sensor.  Higher values
	  lead to more accurate readings, but higher power consumption.
config BME680_PRESS_OVER_1X
	bool "x1"
config BME680_PRESS_OVER_2X
	bool "x2"
config BME680_PRESS_OVER_4X
	bool "x4"
config BME680_PRESS_OVER_8X
	bool "x8"
config BME680_PRESS_OVER_16X
	bool "x16"
endchoice

choice
	prompt "BME680 humidity oversampling"
	default BME680_HUMIDITY_OVER_1X
	help
	  Select humidity oversampling for the BME680 sensor.  Higher values
	  lead to more accurate readings, but higher power consumption.
config BME680_HUMIDITY_OVER_1X
	bool "x1"
config BME680_HUMIDITY_OVER_2X
	bool "x2"
config BME680_HUMIDITY_OVER_4X
	bool "x4"
config BME680_HUMIDITY_OVER_8X
	bool "x8"
config BME680_HUMIDITY_OVER_16X
	bool "x16"
endchoice

choice
	prompt "BME680 IIR low-pass filter coefficient"
	default BME680_FILTER_OFF
	help
	  Select the filter coefficient for the BME680 sensor.
config BME680_FILTER_OFF
	bool "filter off"
config BME680_FILTER_2
	bool "2"
config BME680_FILTER_4
	bool "4"
config BME680_FILTER_8
	bool "8"
config BME680_FILTER_16
	bool "16"
config BME680_FILTER_32
	bool "32"
config BME680_FILTER_64
	bool "64"
config BME680_FILTER_128
	bool "128"
endchoice

choice
	prompt "BME680 gas sensor's heater temperature in degree Celsius"
	default BME680_HEATR_TEMP_LP
	help
	  Select the gas sensor's heater temperature for the BME680 sensor.
config BME680_HEATR_TEMP_LP
	bool "320"
config BME680_HEATR_TEMP_ULP
	bool "400"
endchoice

choice
	prompt "BME680 gas sensor's heating duration in milliseconds"
	default BME680_HEATR_DUR_LP
	help
	  Select the gas sensor's heating duration for the BME680 sensor.
config BME680_HEATR_DUR_LP
	bool "197"
config BME680_HEATR_DUR_ULP
	bool "1943"
endchoice

endmenu # BME680 Attributes

endif # BME680

