Build Matter Light Bulb using ZAP auto generated files dynamically

  

        Sorry for the inconvenience!

        I have downloaded V2.8.0 nRF SDK, and I use this command to build light bulb project:

        west build -p always --build-dir nrf/samples/matter/light_bulb/build -b nrf52840dk_nrf52840 nrf/samples/matter/light_bulb

        It can build pass! But I noticed that bulb project used zap generated files, I want to auto generate zap files in the build flow(that means generating code files by light_bulb.zap dynamically), could you tell me how can I do?

        Furthermore, I have noticed the macro("BYPASS_IDL") in cmake file is TRUE, so it skip auto generate flow, how can I set it to FALSE?

        chip_configure_data_model(app
               INCLUDE_SERVER
               BYPASS_IDL
               GEN_DIR ${CONFIG_NCS_SAMPLE_MATTER_ZAP_FILES_PATH}/zap-generated
               ZAP_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${CONFIG_NCS_SAMPLE_MATTER_ZAP_FILES_PATH}/light_bulb.zap
        )

BR

Chuan

        

Parents
  • Hi Chuan,

    When you remove BYPASS_IDL, the chip_configure_data_model() function tries to generate source files from a .matter IDL file, but it cannot find the .matter file. You must provide it using the IDL option, for example:

    chip_configure_data_model(app
        INCLUDE_SERVER
        GEN_DIR ${CONFIG_NCS_SAMPLE_MATTER_ZAP_FILES_PATH}/zap-generated
        ZAP_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${CONFIG_NCS_SAMPLE_MATTER_ZAP_FILES_PATH}/light_bulb.zap
        IDL ${CMAKE_CURRENT_SOURCE_DIR}/src/light_bulb.matter
    )

    Please note that you need to have zap-cli installed, and the installed version must match the version used in the SDK you are using. If not, you will get an error when it tries to generate the zap files.
    You can install it by running the following in modules/lib/matter:

    python3 scripts/setup/nrfconnect/get_zap.py -l <location_path> -o

    Best regards,
    Marte

Reply
  • Hi Chuan,

    When you remove BYPASS_IDL, the chip_configure_data_model() function tries to generate source files from a .matter IDL file, but it cannot find the .matter file. You must provide it using the IDL option, for example:

    chip_configure_data_model(app
        INCLUDE_SERVER
        GEN_DIR ${CONFIG_NCS_SAMPLE_MATTER_ZAP_FILES_PATH}/zap-generated
        ZAP_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${CONFIG_NCS_SAMPLE_MATTER_ZAP_FILES_PATH}/light_bulb.zap
        IDL ${CMAKE_CURRENT_SOURCE_DIR}/src/light_bulb.matter
    )

    Please note that you need to have zap-cli installed, and the installed version must match the version used in the SDK you are using. If not, you will get an error when it tries to generate the zap files.
    You can install it by running the following in modules/lib/matter:

    python3 scripts/setup/nrfconnect/get_zap.py -l <location_path> -o

    Best regards,
    Marte

Children
No Data
Related