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

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

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

if BME680

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

endif # BME680
