| .. _bluetooth_mesh_lcd_srv: |
| |
| Large Composition Data Server |
| ############################# |
| |
| The Large Composition Data Server model is a foundation model defined by the Bluetooth mesh |
| specification. The model is optional, and is enabled through the |
| :kconfig:option:`CONFIG_BT_MESH_LARGE_COMP_DATA_SRV` option. |
| |
| The Large Composition Data Server model was introduced in the Bluetooth Mesh Protocol Specification |
| version 1.1, and is used to support the functionality of exposing pages of Composition Data that do |
| not fit in a Config Composition Data Status message and to expose metadata of the model instances. |
| |
| The Large Composition Data Server does not have an API of its own and relies on a |
| :ref:`bluetooth_mesh_lcd_cli` to control it. The model only accepts messages encrypted with the |
| node's device key. |
| |
| If present, the Large Composition Data Server model must only be instantiated on the primary |
| element. |
| |
| Models metadata |
| =============== |
| |
| The Large Composition Data Server model allows each model to have a list of model's specific |
| metadata that can be read by the Large Composition Data Client model. The metadata list can be |
| associated with the :c:struct:`bt_mesh_model` through the :c:member:`bt_mesh_model.metadata` field. |
| The metadata list consists of one or more entries defined by the |
| :c:struct:`bt_mesh_models_metadata_entry` structure. Each entry contains the length and ID of the |
| metadata, and a pointer to the raw data. Entries can be created using the |
| :c:macro:`BT_MESH_MODELS_METADATA_ENTRY` macro. The :c:macro:`BT_MESH_MODELS_METADATA_END` macro |
| marks the end of the metadata list and must always be present. If the model has no metadata, the |
| helper macro :c:macro:`BT_MESH_MODELS_METADATA_NONE` can be used instead. |
| |
| API reference |
| ************* |
| |
| .. doxygengroup:: bt_mesh_large_comp_data_srv |
| :project: Zephyr |
| :members: |