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

Parents
  • Hello,

    can you show what the build/partitions.yml file looks like?

  • app:
      address: 0x8000
      end_address: 0x100000
      region: flash_primary
      size: 0xf8000
    external_flash:
      address: 0x0
      end_address: 0x2000000
      region: external_flash
      size: 0x2000000
    nrf_modem_lib_ctrl:
      address: 0x20008000
      end_address: 0x200084e8
      inside:
      - sram_nonsecure
      placement:
        after:
        - tfm_sram
        - start
      region: sram_primary
      size: 0x4e8
    nrf_modem_lib_rx:
      address: 0x2000a568
      end_address: 0x2000c568
      inside:
      - sram_nonsecure
      placement:
        after:
        - nrf_modem_lib_tx
      region: sram_primary
      size: 0x2000
    nrf_modem_lib_sram:
      address: 0x20008000
      end_address: 0x2000c568
      orig_span: &id001
      - nrf_modem_lib_ctrl
      - nrf_modem_lib_tx
      - nrf_modem_lib_rx
      region: sram_primary
      size: 0x4568
      span: *id001
    nrf_modem_lib_tx:
      address: 0x200084e8
      end_address: 0x2000a568
      inside:
      - sram_nonsecure
      placement:
        after:
        - nrf_modem_lib_ctrl
      region: sram_primary
      size: 0x2080
    otp:
      address: 0xff8108
      end_address: 0xff83fc
      region: otp
      size: 0x2f4
    sram_nonsecure:
      address: 0x20008000
      end_address: 0x20040000
      orig_span: &id002
      - sram_primary
      - nrf_modem_lib_ctrl
      - nrf_modem_lib_tx
      - nrf_modem_lib_rx
      region: sram_primary
      size: 0x38000
      span: *id002
    sram_primary:
      address: 0x2000c568
      end_address: 0x20040000
      region: sram_primary
      size: 0x33a98
    sram_secure:
      address: 0x20000000
      end_address: 0x20008000
      orig_span: &id003
      - tfm_sram
      region: sram_primary
      size: 0x8000
      span: *id003
    tfm:
      address: 0x0
      end_address: 0x8000
      placement:
        before:
        - app
      region: flash_primary
      size: 0x8000
    tfm_nonsecure:
      address: 0x8000
      end_address: 0x100000
      orig_span: &id004
      - app
      region: flash_primary
      size: 0xf8000
      span: *id004
    tfm_secure:
      address: 0x0
      end_address: 0x8000
      orig_span: &id005
      - tfm
      region: flash_primary
      size: 0x8000
      span: *id005
    tfm_sram:
      address: 0x20000000
      end_address: 0x20008000
      inside:
      - sram_secure
      placement:
        after:
        - start
      region: sram_primary
      size: 0x8000
    

  • 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

Reply Children
No Data
Related