1.. _bluetooth_mesh_lcd_srv: 2 3Large Composition Data Server 4############################# 5 6The Large Composition Data Server model is a foundation model defined by the Bluetooth mesh 7specification. The model is optional, and is enabled through the 8:kconfig:option:`CONFIG_BT_MESH_LARGE_COMP_DATA_SRV` option. 9 10The Large Composition Data Server model was introduced in the Bluetooth Mesh Protocol Specification 11version 1.1, and is used to support the functionality of exposing pages of Composition Data that do 12not fit in a Config Composition Data Status message and to expose metadata of the model instances. 13 14The Large Composition Data Server does not have an API of its own and relies on a 15:ref:`bluetooth_mesh_lcd_cli` to control it. The model only accepts messages encrypted with the 16node's device key. 17 18If present, the Large Composition Data Server model must only be instantiated on the primary 19element. 20 21Models metadata 22=============== 23 24The Large Composition Data Server model allows each model to have a list of model's specific 25metadata that can be read by the Large Composition Data Client model. The metadata list can be 26associated with the :c:struct:`bt_mesh_model` through the :c:member:`bt_mesh_model.metadata` field. 27The metadata list consists of one or more entries defined by the 28:c:struct:`bt_mesh_models_metadata_entry` structure. Each entry contains the length and ID of the 29metadata, and a pointer to the raw data. Entries can be created using the 30:c:macro:`BT_MESH_MODELS_METADATA_ENTRY` macro. The :c:macro:`BT_MESH_MODELS_METADATA_END` macro 31marks the end of the metadata list and must always be present. If the model has no metadata, the 32helper macro :c:macro:`BT_MESH_MODELS_METADATA_NONE` can be used instead. 33 34API reference 35************* 36 37.. doxygengroup:: bt_mesh_large_comp_data_srv 38 :project: Zephyr 39 :members: 40