This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Combine two or three "I2C" Devices with NRF5340

HI,

 I have already got output from each of the SHT20 and MLX90614 sensors. Now I want to combine both the code. Regards, I need an help to Setup prj.conf file

Thanks & Regards

Navin

  • HI,

    provide the applications you want to combine

    I will send my applications and also share my prj.conf file here. Kindly check that and tell me if anything is wrong

     

    5226.prj.conf

    Thanks & Regards

    Navin

  • Hi Heidi,

    5732.nrf5340dk_nrf5340_cpuapp.overlay

    while opening the project with the above overlay file I have facing the error called

    create_nordic_project.py failed (1)

    the log was

    Creating solution VET_Firm.emProject
    F:/v1.5.0/toolchain/opt/bin/cmake.exe -GNinja -DBOARD=nrf5340dk_nrf5340_cpuapp -DBOARD_DIR=F:\v1.5.0\zephyr\boards\arm\nrf5340dk_nrf5340 -BF:\v1.5.0\zephyr\samples\MyProjects\VET_Firm\build_nrf5340dk_nrf5340_cpuapp -SF:\v1.5.0\zephyr\samples\MyProjects\VET_Firm -DNCS_TOOLCHAIN_VERSION=1.5.0 -DDTC_OVERLAY_FILE=F:\v1.5.0\zephyr\samples\MyProjects\VET_Firm/nrf5340dk_nrf5340_cpuapp.overlay -DEXTRA_KCONFIG_TARGETS=menuconfig_ses -DEXTRA_KCONFIG_TARGET_COMMAND_FOR_menuconfig_ses=F:\v1.5.0\toolchain\segger_embedded_studio/html/configure_nordic_project_menuconfig.py
    -- Application: F:/v1.5.0/zephyr/samples/MyProjects/VET_Firm
    -- Zephyr version: 2.4.99 (F:/v1.5.0/zephyr)
    -- Found Python3: F:/v1.5.0/toolchain/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Found west (found suitable version "0.9.0", minimum required is "0.7.1")
    -- Board: nrf5340dk_nrf5340_cpuapp
    -- Cache files will be written to: F:/v1.5.0/zephyr/.cache
    -- Found dtc: F:/v1.5.0/toolchain/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found toolchain: gnuarmemb (F:/v1.5.0/toolchain/opt)
    -- Found BOARD.dts: F:/v1.5.0/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpuapp.dts
    -- Found devicetree overlay: F:/v1.5.0/zephyr/samples/MyProjects/VET_Firm/nrf5340dk_nrf5340_cpuapp.overlay
    -- Configuring incomplete, errors occurred!
    Including boilerplate (Zephyr base): F:/v1.5.0/zephyr/cmake/app/boilerplate.cmake
    -- Using NCS Toolchain 1.5.0 for building. (F:/v1.5.0/toolchain/cmake)
    devicetree error: 'interrupts' is marked as required in 'properties:' in F:/v1.5.0/zephyr/dts/bindings\i2c\nordic,nrf-twim.yaml, but does not appear in <Node /soc/peripheral@50000000/i2c@8000/BNO055@28 in 'nrf5340dk_nrf5340_cpuapp.dts.pre.tmp'>
    CMake Error at F:/v1.5.0/zephyr/cmake/dts.cmake:229 (message):
    gen_defines.py failed with return code: 1
    Call Stack (most recent call first):
    F:/v1.5.0/zephyr/cmake/app/boilerplate.cmake:533 (include)
    F:/v1.5.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
    F:/v1.5.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:35 (include_boilerplate)
    CMakeLists.txt:8 (find_package)
    
    
    
    error: cmake failed
    create_nordic_project.py failed (1)

    I think the above error is because of the Device tree. Already, You know our requirements. Kindly check my overlay file and correct me.

        Kindly respond, We are waiting for a long time. 

    Thanks & Regards 

    Navin

  • Hi

    As I mentioned earlier, due to the summer holidays, long wait times on DevZone are to be expected.

    In the log, it says

    devicetree error: 'interrupts' is marked as required in 'properties:' in F:/v1.5.0/zephyr/dts/bindings\i2c\nordic,nrf-twim.yaml, but does not appear in <Node /soc/peripheral@50000000/i2c@8000/BNO055@28 in 'nrf5340dk_nrf5340_cpuapp.dts.pre.tmp'>

    so you need to add the "interrupts" field in all the I2C sub-nodes, because it's specified as required by the binding file. 

  • add the "interrupts" field in all the I2C sub-nodes,

    KIndly, give me some example

  • Hi,

    After taking a closer look, I see that you're defining all the sub-nodes with the "nordic, nrf-twim" binding, which is incorrect.

    For the compatible-property of the sub-nodes, you need to use the vendor specific bindings, not "nordic,nrf-twim". 

    For example, in the BME680 Sample, the BME680 device is defined with the BME680 binding:

    &i2c0 {
    	bme680@76 {
    		compatible = "bosch,bme680";
    		reg = <0x76>;
    		label = "BME680";
    	};
    };

    Source: zephyr/samples/sensor/b,e680/boards/nrf52840dk_nrf52840.overlay-L9

    It doesn't look like any of the devices you are using have a binding definition in Zephyr (see the Bindings index for a complete list of available devicetree bindings in Zephyr).

Related