Adding Sensor capability to the Matter Template results into 'EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT' was not declared in this scope

Hi,

I'm trying to recreate the Matter Sensor application from the Template by following your tutorial (Link). After carefully finishing each step in this tutorial, the compilation fails with the following error:

'EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT' was not declared in this scope

Full error log:

[17/34] Building CXX object CMakeFiles/app.dir/src/app_task.cpp.obj
[18/34] Building CXX object CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/util/util.cpp.obj
[19/34] Building CXX object CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj
FAILED: CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj 
ccache /opt/nordic/ncs/toolchains/v2.2.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-g++ -DCHIP_HAVE_CONFIG_H -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_USER_CONFIG_FILE=\"nrf-config-user.h\" -DNRF52840_XXAA -DNRF_802154_ACK_TIMEOUT_ENABLED=1 -DNRF_802154_CCA_CORR_LIMIT_DEFAULT=2 -DNRF_802154_CCA_CORR_THRESHOLD_DEFAULT=45 -DNRF_802154_CCA_ED_THRESHOLD_DEFAULT=45 -DNRF_802154_CCA_MODE_DEFAULT=NRF_RADIO_CCA_MODE_ED -DNRF_802154_ECB_PRIORITY=-1 -DNRF_802154_ENCRYPTION_ENABLED=1 -DNRF_802154_IE_WRITER_ENABLED=1 -DNRF_802154_INTERNAL_RADIO_IRQ_HANDLING=0 -DNRF_802154_PENDING_EXTENDED_ADDRESSES=16 -DNRF_802154_PENDING_SHORT_ADDRESSES=16 -DNRF_802154_RX_BUFFERS=16 -DNRF_802154_SECURITY_WRITER_ENABLED=1 -DNRF_802154_SWI_PRIORITY=1 -DNRF_802154_TX_STARTED_NOTIFY_ENABLED=1 -DNRF_802154_USE_RAW_API=1 -DUSE_PARTITION_MANAGER=1 -D_ANSI_SOURCE -D_DEFAULT_SOURCE -D_FORTIFY_SOURCE=1 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I../src -I/opt/nordic/ncs/v2.2.0/nrf/samples/matter/common/src -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/third_party/nlio/repo/include -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/zzz_generated/app-common -I/opt/nordic/ncs/v2.2.0/nrf/drivers/mpsl/clock_control -I/opt/nordic/ncs/v2.2.0/zephyr/include -Izephyr/include/generated -I/opt/nordic/ncs/v2.2.0/zephyr/soc/arm/nordic_nrf/nrf52 -I/opt/nordic/ncs/v2.2.0/zephyr/lib/libc/newlib/include -I/opt/nordic/ncs/v2.2.0/zephyr/lib/util/fnmatch/. -I/opt/nordic/ncs/v2.2.0/zephyr/soc/arm/nordic_nrf/common/. -I/opt/nordic/ncs/v2.2.0/zephyr/subsys/bluetooth -I/opt/nordic/ncs/v2.2.0/zephyr/subsys/net/lib/sockets/. -I/opt/nordic/ncs/v2.2.0/zephyr/subsys/settings/include -I/opt/nordic/ncs/v2.2.0/nrf/include -I/opt/nordic/ncs/v2.2.0/nrf/lib/multithreading_lock/. -I/opt/nordic/ncs/v2.2.0/nrf/subsys/bluetooth/controller/. -I/opt/nordic/ncs/v2.2.0/zephyr/drivers/flash -I/opt/nordic/ncs/v2.2.0/nrf/tests/include -I/opt/nordic/ncs/v2.2.0/zephyr/modules/openthread/platform/. -I/opt/nordic/ncs/v2.2.0/modules/hal/cmsis/CMSIS/Core/Include -I/opt/nordic/ncs/v2.2.0/modules/hal/nordic/nrfx -I/opt/nordic/ncs/v2.2.0/modules/hal/nordic/nrfx/drivers/include -I/opt/nordic/ncs/v2.2.0/modules/hal/nordic/nrfx/mdk -I/opt/nordic/ncs/v2.2.0/zephyr/modules/hal_nordic/nrfx/. -I/opt/nordic/ncs/v2.2.0/modules/debug/segger/SEGGER -I/opt/nordic/ncs/v2.2.0/modules/debug/segger/Config -I/opt/nordic/ncs/v2.2.0/zephyr/modules/segger/. -I/opt/nordic/ncs/v2.2.0/modules/crypto/tinycrypt/lib/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/mpsl/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/mpsl/include/protocol -I/opt/nordic/ncs/v2.2.0/nrfxlib/openthread/include -Imodules/nrfxlib/nrfxlib/nrf_security/src/include/generated -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/include/mbedtls -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/include/psa -I/opt/nordic/ncs/v2.2.0/mbedtls/include -I/opt/nordic/ncs/v2.2.0/mbedtls/include/mbedtls -I/opt/nordic/ncs/v2.2.0/mbedtls/include/psa -I/opt/nordic/ncs/v2.2.0/mbedtls/library -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/../crypto/nrf_oberon/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/../crypto/nrf_oberon/include/mbedtls -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/../crypto/nrf_oberon/include/psa -I/opt/nordic/ncs/v2.2.0/nrfxlib/crypto/nrf_oberon/include/mbedtls -I/opt/nordic/ncs/v2.2.0/nrfxlib/crypto/nrf_oberon/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_802154/driver/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_802154/sl/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/softdevice_controller/include -I/opt/nordic/ncs/v2.2.0/zephyr/include/zephyr/posix -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/src -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/include -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/third_party/nlassert/repo/include -Imodules/connectedhomeip/gen/include -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/examples/providers -isystem /opt/nordic/ncs/v2.2.0/nrfxlib/crypto/nrf_cc310_platform/include "-DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=<lib/address_resolve/AddressResolve_DefaultImpl.h>" -fno-strict-aliasing -Os -fcheck-new -std=c++14 -Wno-register -fno-exceptions -fno-rtti -imacros /Users/lukaskirner/Documents/Development/Privat/matter/sensor2/build/zephyr/include/generated/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mfp16-format=ieee --sysroot=/opt/nordic/ncs/toolchains/v2.2.0/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros /opt/nordic/ncs/v2.2.0/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=/Users/lukaskirner/Documents/Development/Privat/matter/sensor2=CMAKE_SOURCE_DIR -fmacro-prefix-map=/opt/nordic/ncs/v2.2.0/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/opt/nordic/ncs/v2.2.0=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=gnu++17 -D_SYS__PTHREADTYPES_H_ -MD -MT CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj -MF CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj.d -o CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj -c /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp
In file included from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp:18:
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.h:88:37: error: 'EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT' was not declared in this scope; did you mean 'EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT'?
   88 |     EmberEventControl eventControls[EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT];
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                     EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.h:88:37: note: maximum limit of 1000 namespaces searched for 'EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT'
In file included from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/system/SystemLayer.h:33,
                 from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib/core/CHIPCore.h:30,
                 from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib/core/Optional.h:28,
                 from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/ConcreteAttributePath.h:23,
                 from /opt/nordic/ncs/v2.2.0/modules/lib/matter/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h:27,
                 from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.h:20:
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp: In member function 'EmberEventControl* OnOffServer::getEventControl(chip::EndpointId)':
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp:601:27: error: 'eventControls' was not declared in this scope; did you mean 'getEventControl'?
  601 |     if (index < ArraySize(eventControls))
      |                           ^~~~~~~~~~~~~
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib/support/CodeUtils.h:700:30: note: in definition of macro 'ArraySize'
  700 | #define ArraySize(a) (sizeof(a) / sizeof((a)[0]))
      |                              ^
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp:601:27: note: maximum limit of 1000 namespaces searched for 'eventControls'
  601 |     if (index < ArraySize(eventControls))
      |                           ^~~~~~~~~~~~~
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib/support/CodeUtils.h:700:30: note: in definition of macro 'ArraySize'
  700 | #define ArraySize(a) (sizeof(a) / sizeof((a)[0]))
      |                              ^
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/v2.2.0/bin/cmake --build /Users/lukaskirner/Documents/Development/Privat/matter/sensor2/build

Note the ZAP Toole instructions are outdated. I couldn't find the python scripts in the ZAP repository, therefor I just build the electron app on my own.

Thanks for any help in advance.

Parents Reply Children
Related