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

Maximum number of models

Hi Nordic.

I am using:

1. Mesh sdk V5.00

2. BLE sdk V17

3. NRF52840

I am trying to build a node with many elements and models. The software is based on the LC server. Currently the maximum number of LC servers I can create is 6. This will result in ~12 elements and ~80 models. The reason being to use one node to control lights that are close to each other.

The issue arises when I try to compile with more than 6 LC servers, I get a static assert in config_server.c line 128:

/** The composition data must fit within the Composition Data Status packet. If this assert fails,
 * there are too many models or too many elements defined. Note that the macro assumes all models to be vendor models. */
NRF_MESH_STATIC_ASSERT(CONFIG_COMPOSITION_DATA_SIZE <= (ACCESS_MESSAGE_LENGTH_MAX - ACCESS_UTILS_SIG_OPCODE_SIZE(CONFIG_OPCODE_COMPOSITION_DATA_STATUS) - sizeof(config_msg_composition_data_status_t)));

According to this assert the composition data must fit within a composition data status packet. This does make sense, but as far as I know you can just read different pages of the composition data.

So the question is, is that part of the BLE mesh specification? Is there a clean way around this?

Regards

Chris

Parents
  • Hi,

    According to the Mesh Profile specification v1.0.1, only Composition Data Page 0 is defined and other pages are reserved for future use (see section 4.2.1 Composition Data.)

    In other words: This is currently a limitation in the specification. Additional pages containing element descriptions may or may not be part of a future release of the specification.

    Ways to work around this limitation include the use of group addresses (i.e. controlling groups of lights instead of individual bulbs), or in the typical use case of a gateway to reuse the same model for publishing to different addresses.

    Regards,
    Terje

  • Hi Terje,

    Thanks for the quick answer, I appreciate it!

    Using group addresses sounds like a nice solution.

    Regards

    Chris

Reply Children
No Data
Related