I cannot get bme68x IAQ to work

Hi, this is a very broad issue that i am having, because i dont know the source of it. I am simply unable to use the bme68x IAQ library. i have downloaded the external bsec library with west as indicated, but it still doesnt find it in the drivers or libraries in prj.conf. I have looked on the internet for a good 5 hours and nothing is working. I can confirm that the bsec and bme68x libaries are present under nrf/modules/lib.

Loading Zephyr default modules (Zephyr base).
-- Application: C:/Users/Bonjour/gnss
-- CMake version: 3.21.0
-- Found Python3: C:/ncs/toolchains/0b393f9e1b/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.10") found components: Interpreter 
-- Cache files will be written to: D:/ncss/zephyr/.cache
-- Zephyr version: 4.0.99 (D:/ncss/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf9151dk, qualifiers: nrf9151/ns
-- Found host-tools: zephyr 0.17.0 (C:/ncs/toolchains/0b393f9e1b/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.17.0 (C:/ncs/toolchains/0b393f9e1b/opt/zephyr-sdk)
-- Found Dtc: C:/ncs/toolchains/0b393f9e1b/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6") 
-- Found BOARD.dts: D:/ncss/zephyr/boards/nordic/nrf9151dk/nrf9151dk_nrf9151_ns.dts
-- Found devicetree overlay: C:/Users/Bonjour/gnss/app.overlay
-- Generated zephyr.dts: C:/Users/Bonjour/gnss/build/gnss/zephyr/zephyr.dts
-- Generated pickled edt: C:/Users/Bonjour/gnss/build/gnss/zephyr/edt.pickle
-- Generated zephyr.dts: C:/Users/Bonjour/gnss/build/gnss/zephyr/zephyr.dts
-- Generated devicetree_generated.h: C:/Users/Bonjour/gnss/build/gnss/zephyr/include/generated/zephyr/devicetree_generated.h
-- Including generated dts.cmake file: C:/Users/Bonjour/gnss/build/gnss/zephyr/dts.cmake

warning: USE_SEGGER_RTT (defined at modules\segger\Kconfig:12) was assigned the value 'y' but got
the value 'n'. Check these unsatisfied dependencies: HAS_SEGGER_RTT (=n), 0 (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_USE_SEGGER_RTT and/or look up
USE_SEGGER_RTT in the menuconfig/guiconfig interface. The Application Development Primer, Setting
Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
too.


warning: SEGGER_RTT_BUFFER_SIZE_UP (defined at modules\segger\Kconfig:36) was assigned the value
'8192' but got the value ''. Check these unsatisfied dependencies: USE_SEGGER_RTT (=n), 0 (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_SEGGER_RTT_BUFFER_SIZE_UP and/or look up
SEGGER_RTT_BUFFER_SIZE_UP in the menuconfig/guiconfig interface. The Application Development Primer,
Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
helpful too.


warning: SEGGER_RTT_BUFFER_SIZE_DOWN (defined at modules\segger\Kconfig:40) was assigned the value
'64' but got the value ''. Check these unsatisfied dependencies: USE_SEGGER_RTT (=n), 0 (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_SEGGER_RTT_BUFFER_SIZE_DOWN and/or look up
SEGGER_RTT_BUFFER_SIZE_DOWN in the menuconfig/guiconfig interface. The Application Development
Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual
might be helpful too.


warning: RTT_CONSOLE (defined at drivers/console/Kconfig:130) was assigned the value 'y' but got the
value 'n'. Check these unsatisfied dependencies: USE_SEGGER_RTT (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_RTT_CONSOLE and/or look up RTT_CONSOLE in
the menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration
Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful too.


warning: STDOUT_CONSOLE (defined at lib/libc/Kconfig:136) was assigned the value 'y' but got the
value 'n'. Check these unsatisfied dependencies: CONSOLE_HAS_DRIVER (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_STDOUT_CONSOLE and/or look up
STDOUT_CONSOLE in the menuconfig/guiconfig interface. The Application Development Primer, Setting
Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
too.


warning: LOG_BACKEND_RTT (defined at subsys/logging\backends\Kconfig.rtt:4) was assigned the value
'y' but got the value 'n'. Check these unsatisfied dependencies: USE_SEGGER_RTT (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_LOG_BACKEND_RTT and/or look up
LOG_BACKEND_RTT in the menuconfig/guiconfig interface. The Application Development Primer, Setting
Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
too.


warning: The choice symbol LOG_BACKEND_RTT_MODE_BLOCK (defined at
subsys/logging\backends\Kconfig.rtt:31) was selected (set =y), but no symbol ended up as the choice
selection. See http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_LOG_BACKEND_RTT_MODE_BLOCK
and/or look up LOG_BACKEND_RTT_MODE_BLOCK in the menuconfig/guiconfig interface. The Application
Development Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of
the manual might be helpful too.


C:/Users/Bonjour/gnss/prj.conf:13: warning: attempt to assign the value 'y' to the undefined symbol NRF_MODEM_LIB

C:/Users/Bonjour/gnss/prj.conf:16: warning: attempt to assign the value 'y' to the undefined symbol MODEM_INFO

C:/Users/Bonjour/gnss/prj.conf:19: warning: attempt to assign the value 'y' to the undefined symbol LTE_LINK_CONTROL

C:/Users/Bonjour/gnss/prj.conf:20: warning: attempt to assign the value 'y' to the undefined symbol LTE_NETWORK_MODE_LTE_M_GPS

C:/Users/Bonjour/gnss/prj.conf:83: warning: attempt to assign the value 'y' to the undefined symbol DK_LIBRARY

C:/Users/Bonjour/gnss/prj.conf:103: warning: attempt to assign the value 'y' to the undefined symbol NRF_MODEM_LIB

C:/Users/Bonjour/gnss/prj.conf:106: warning: attempt to assign the value 'y' to the undefined symbol LTE_LINK_CONTROL

C:/Users/Bonjour/gnss/prj.conf:108: warning: attempt to assign the value 'y' to the undefined symbol LTE_NETWORK_MODE_LTE_M_NBIOT_GPS

C:/Users/Bonjour/gnss/prj.conf:110: warning: attempt to assign the value 'y' to the undefined symbol MODEM_ANTENNA_GNSS_EXTERNAL

C:/Users/Bonjour/gnss/prj.conf:134: warning: attempt to assign the value 'y' to the undefined symbol BME68X

C:/Users/Bonjour/gnss/prj.conf:135: warning: attempt to assign the value 'y' to the undefined symbol BME68X_IAQ

C:/Users/Bonjour/gnss/build/gnss/zephyr/.config.sysbuild:2: warning: attempt to assign the value 'y' to the undefined symbol PARTITION_MANAGER_ENABLED

C:/Users/Bonjour/gnss/build/gnss/zephyr/.config.sysbuild:6: warning: attempt to assign the value 'n' to the undefined symbol CHIP

warning: HAS_CMSIS_CORE (defined at modules\cmsis\Kconfig:7) has direct dependencies 0 with value n, but is currently being y-selected by the following symbols:
 - CPU_CORTEX_M (defined at D:/ncss/zephyr/arch/arm\core/Kconfig:6), with value y, direct dependencies ARM (value: y), and select condition ARM (value: y)

warning: CMSIS_CORE_HAS_SYSTEM_CORE_CLOCK (defined at D:/ncss/zephyr/soc/nxp/imxrt\imxrt6xx\Kconfig.defconfig:8, modules\cmsis\Kconfig:31) has direct dependencies (SOC_SERIES_IMXRT6XX && SOC_FAMILY_NXP_IMXRT) || (HAS_CMSIS_CORE && 0) with value n, but is currently being y-selected by the following symbols:
 - SOC_FAMILY_NORDIC_NRF (defined at D:/ncss/zephyr/soc/nordic/Kconfig.soc:19, D:/ncss/zephyr/soc/nordic/Kconfig:9), with value y, direct dependencies y (value: y), and select condition ARM (value: y)

warning: HAS_NRFX (defined at modules\hal_nordic\nrfx/Kconfig:4) has direct dependencies 0 with value n, but is currently being y-selected by the following symbols:
 - SOC_SERIES_NRF91X (defined at D:/ncss/zephyr/soc/nordic/Kconfig.soc:54, D:/ncss/zephyr/soc/nordic\nrf91\Kconfig.soc:6, D:/ncss/zephyr/soc/nordic\nrf91\Kconfig:6), with value y, direct dependencies y (value: y), and select condition SOC_FAMILY_NORDIC_NRF (value: y)

warning: NRFX_CLOCK (defined at modules\hal_nordic\nrfx/Kconfig:16) has direct dependencies HAS_NRFX && 0 with value n, but is currently being y-selected by the following symbols:
 - CLOCK_CONTROL_NRF (defined at drivers/clock_control/Kconfig.nrf:13), with value y, direct dependencies DT_HAS_NORDIC_NRF_CLOCK_ENABLED && CLOCK_CONTROL (value: y), and select condition !CLOCK_CONTROL_NRF_FORCE_ALT && DT_HAS_NORDIC_NRF_CLOCK_ENABLED && CLOCK_CONTROL (value: y)

warning: NRFX_GPPI (defined at modules\hal_nordic\nrfx/Kconfig:209) has direct dependencies HAS_NRFX && 0 with value n, but is currently being y-selected by the following symbols:
 - UART_0_ENHANCED_POLL_OUT (defined at drivers/serial\Kconfig.nrfx_uart_instance:21), with value y, direct dependencies !n && HAS_HW_NRF_UARTE0 && (HAS_HW_NRF_PPI || HAS_HW_NRF_DPPIC) && (HAS_HW_NRF_UART0 || HAS_HW_NRF_UARTE0) && UART_NRFX && SERIAL (value: y), and select condition !n && HAS_HW_NRF_UARTE0 && (HAS_HW_NRF_PPI || HAS_HW_NRF_DPPIC) && (HAS_HW_NRF_UART0 || HAS_HW_NRF_UARTE0) && UART_NRFX && SERIAL (value: y)

warning: NRFX_GPIOTE1 (defined at modules\hal_nordic\nrfx/Kconfig:176) has direct dependencies HAS_NRFX && 0 with value n, but is currently being y-selected by the following symbols:
 - GPIO_NRFX (defined at drivers/gpio/Kconfig.nrfx:4), with value y, direct dependencies DT_HAS_NORDIC_NRF_GPIO_ENABLED && GPIO (value: y), and select condition HAS_HW_NRF_GPIOTE1 && DT_HAS_NORDIC_NRF_GPIO_ENABLED && GPIO (value: y)

warning: NRFX_NVMC (defined at modules\hal_nordic\nrfx/Kconfig:246) has direct dependencies HAS_NRFX && 0 with value n, but is currently being y-selected by the following symbols:
 - SOC_FLASH_NRF (defined at drivers/flash/Kconfig.nrf:10), with value y, direct dependencies (DT_HAS_NORDIC_NRF51_FLASH_CONTROLLER_ENABLED || DT_HAS_NORDIC_NRF52_FLASH_CONTROLLER_ENABLED || DT_HAS_NORDIC_NRF53_FLASH_CONTROLLER_ENABLED || DT_HAS_NORDIC_NRF91_FLASH_CONTROLLER_ENABLED) && !FLASH_NRF_FORCE_ALT && FLASH (value: y), and select condition (DT_HAS_NORDIC_NRF51_FLASH_CONTROLLER_ENABLED || DT_HAS_NORDIC_NRF52_FLASH_CONTROLLER_ENABLED || DT_HAS_NORDIC_NRF53_FLASH_CONTROLLER_ENABLED || DT_HAS_NORDIC_NRF91_FLASH_CONTROLLER_ENABLED) && !FLASH_NRF_FORCE_ALT && FLASH (value: y)
Parsing C:/Users/Bonjour/gnss/Kconfig
Loaded configuration 'D:/ncss/zephyr/boards/nordic/nrf9151dk/nrf9151dk_nrf9151_ns_defconfig'
Merged configuration 'C:/Users/Bonjour/gnss/prj.conf'
Merged configuration 'C:/Users/Bonjour/gnss/build/gnss/zephyr/.config.sysbuild'

warning: NRFX_PDM0 (defined at modules\hal_nordic\nrfx/Kconfig:253) has direct dependencies HAS_NRFX && 0 with value n, but is currently being y-selected by the following symbols:
 - AUDIO_DMIC_NRFX_PDM (defined at drivers/audio/Kconfig.dmic_pdm_nrfx:4), with value y, direct dependencies DT_HAS_NORDIC_NRF_PDM_ENABLED && AUDIO_DMIC && AUDIO (value: y), and select condition HAS_HW_NRF_PDM0 && DT_HAS_NORDIC_NRF_PDM_ENABLED && AUDIO_DMIC && AUDIO (value: y)

warning: NRFX_SPIM3 (defined at modules\hal_nordic\nrfx/Kconfig:507) has direct dependencies HAS_NRFX && 0 with value n, but is currently being y-selected by the following symbols:
 - SPI_NRFX_SPIM (defined at drivers/spi/Kconfig.nrfx:22), with value y, direct dependencies DT_HAS_NORDIC_NRF_SPIM_ENABLED && SPI_NRFX && SPI (value: y), and select condition HAS_HW_NRF_SPIM3 && DT_HAS_NORDIC_NRF_SPIM_ENABLED && SPI_NRFX && SPI (value: y)

warning: NRFX_TWIM2 (defined at modules\hal_nordic\nrfx/Kconfig:864) has direct dependencies HAS_NRFX && 0 with value n, but is currently being y-selected by the following symbols:
 - I2C_NRFX_TWIM (defined at drivers/i2c/Kconfig.nrfx:23), with value y, direct dependencies DT_HAS_NORDIC_NRF_TWIM_ENABLED && I2C_NRFX && I2C (value: y), and select condition HAS_HW_NRF_TWIM2 && DT_HAS_NORDIC_NRF_TWIM_ENABLED && I2C_NRFX && I2C (value: y)

warning: NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED (defined at modules\hal_nordic\nrfx/Kconfig:20) has direct dependencies NRFX_CLOCK && HAS_NRFX && 0 with value n, but is currently being y-selected by the following symbols:
 - CLOCK_CONTROL_NRF_K32SRC_XTAL (defined at drivers/clock_control/Kconfig.nrf:36), with value y, direct dependencies <choice CLOCK_CONTROL_NRF_SOURCE> (value: y), and select condition !SOC_SERIES_BSIM_NRFXX && !CLOCK_CONTROL_NRF_FORCE_ALT && <choice CLOCK_CONTROL_NRF_SOURCE> (value: y)

error: Aborting due to Kconfig warnings

CMake Error at D:/ncss/zephyr/cmake/modules/kconfig.cmake:396 (message):
  command failed with return code: 1
Call Stack (most recent call first):
  D:/ncss/nrf/cmake/modules/kconfig.cmake:36 (include)
  D:/ncss/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
  D:/ncss/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  D:/ncss/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:13 (find_package)


-- Configuring incomplete, errors occurred!
CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):
  CMake configure failed for Zephyr project: gnss

  Location: C:/Users/Bonjour/gnss
Call Stack (most recent call first):
  cmake/modules/sysbuild_images.cmake:43 (ExternalZephyrProject_Cmake)
  cmake/modules/sysbuild_default.cmake:21 (include)
  D:/ncss/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
  D:/ncss/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  D:/ncss/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
  template/CMakeLists.txt:10 (find_package)


-- Configuring incomplete, errors occurred!
See also "C:/Users/Bonjour/gnss/build/CMakeFiles/CMakeOutput.log".
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\0b393f9e1b\opt\bin\cmake.EXE' -DWEST_PYTHON=C:/ncs/toolchains/0b393f9e1b/opt/bin/python.exe '-Bc:\Users\Bonjour\gnss\build' -GNinja -DBOARD=nrf9151dk/nrf9151/ns '-SD:\ncss\zephyr\share\sysbuild' '-DAPP_DIR:PATH=c:\Users\Bonjour\gnss'

 7522.gnss.zip

  • Here is the .conf file, but in case it isnt specifically what you wanted, you can find all ofthe files and folders in the zip folder i shared in the original post. 

    CONFIG_LOG=y
    CONFIG_LOG_DEFAULT_LEVEL=3
    CONFIG_LOG_MODE_DEFERRED=y
    CONFIG_LOG_MODE_IMMEDIATE=n
    CONFIG_LOG_BACKEND_RTT=y
    CONFIG_LOG_BACKEND_RTT_MODE_BLOCK=y
    CONFIG_LOG_BACKEND_UART=n
    CONFIG_USE_SEGGER_RTT=y
    CONFIG_RTT_CONSOLE=y
    CONFIG_UART_CONSOLE=n
    CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=8192
    CONFIG_SEGGER_RTT_BUFFER_SIZE_DOWN=64
    CONFIG_LOG_MODE_MINIMAL=n
    CONFIG_LOG=y
    CONFIG_LOG_MODE_DEFERRED=y
    CONFIG_LOG_BACKEND_RTT=y   
    CONFIG_USE_SEGGER_RTT=y      
    CONFIG_LOG_DEFAULT_LEVEL=3  
    #
    # Copyright (c) 2023 Nordic Semiconductor
    #
    # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
    #
    
    CONFIG_SENSOR=y
    CONFIG_SENSOR_INFO=y
    
    CONFIG_BME680=n
    CONFIG_BME68X_IAQ=y
    
    # Settings - Used to store real-time device configuration to flash.
    CONFIG_SETTINGS=y
    CONFIG_SETTINGS_FCB=y
    CONFIG_FCB=y
    CONFIG_FLASH=y
    CONFIG_FLASH_PAGE_LAYOUT=y
    CONFIG_FLASH_MAP=y
    CONFIG_STREAM_FLASH=y
    CONFIG_MPU_ALLOW_FLASH_WRITE=y
    
    CONFIG_LOG=y
    CONFIG_CONSOLE=y
    
    CONFIG_ASSERT=y
    CONFIG_REBOOT=y
    CONFIG_FPU=y

  • last minute update, i got it to build and flash, and now it returns this 00> [00:00:06.431,610] <inf> app: temp: 25.760049; press: 99640.492187; humidity: 40.155044; iaq: 50; CO2: 500.000000; VOC: 0.499999
    00> [00:00:09.431,701] <inf> app: temp: 25.434616; press: 99637.984375; humidity: 40.617881; iaq: 50; CO2: 500.000000; VOC: 0.499999
    00> [00:00:12.431,793] <inf> app: temp: 25.368047; press: 99639.109375; humidity: 40.736503; iaq: 50; CO2: 500.000000; VOC: 0.499999
    00> [00:00:15.431,915] <inf> app: temp: 25.335998; press: 99637.929687; humidity: 40.815944; iaq: 50; CO2: 500.000000; VOC: 0.499999
    00> [00:00:18.432,006] <inf> app: temp: 25.323669; press: 99638.921875; humidity: 40.831916; iaq: 50; CO2: 500.000000; VOC: 0.499999 is that normal? Arent these wrong readings for co2 and VOC?

  • alright so it started varying, i guess it was for calibration purposes, do i need to manually save the calibration to non voltaile storage or does it do it by itself? EDIT: i tried it, by power cycling it and it doesnt keep the config, so i would have to save it to storage i'd assume is what you were mentioning earlier. 

  • Geolink_olivier said:
    so i would have to save it to storage i'd assume is what you were mentioning earlier. 

    Yes. Did you manage to get the settings storage partition working? What changes did you do when it compiled?

  • yeah i got it working, the partition was already defined in the build/partitions.yaml as for how i made it compile, i honestly have no idea, i messed with a bunch of stuff and it ended up building succesfully, here is the full folder in case anyone wants to try it out 0753.bme280.zip

Related