Bluetooth: Mesh: add extension config server by lcd server
Commit add extension of configuration server by large composition data server. Mesh Protocol v1.1 specification 4.4.21.1 The Large Composition Data Server is a main model that extends the Configuration Server model. Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
This commit is contained in:
parent
3e2b44a5dd
commit
f9d7385879
2 changed files with 8 additions and 2 deletions
|
@ -1152,6 +1152,7 @@ endif # BT_MESH_OP_AGG_CLI
|
||||||
|
|
||||||
config BT_MESH_LARGE_COMP_DATA_SRV
|
config BT_MESH_LARGE_COMP_DATA_SRV
|
||||||
bool "Support for Large Composition Data Server Model"
|
bool "Support for Large Composition Data Server Model"
|
||||||
|
depends on BT_MESH_MODEL_EXTENSIONS
|
||||||
help
|
help
|
||||||
Enable support for the Large Composition Data Server model.
|
Enable support for the Large Composition Data Server model.
|
||||||
|
|
||||||
|
|
|
@ -170,8 +170,11 @@ const struct bt_mesh_model_op _bt_mesh_large_comp_data_srv_op[] = {
|
||||||
|
|
||||||
static int large_comp_data_srv_init(const struct bt_mesh_model *model)
|
static int large_comp_data_srv_init(const struct bt_mesh_model *model)
|
||||||
{
|
{
|
||||||
if (!bt_mesh_model_in_primary(model)) {
|
const struct bt_mesh_model *config_srv =
|
||||||
LOG_ERR("Large Composition Data Server only allowed in primary element");
|
bt_mesh_model_find(bt_mesh_model_elem(model), BT_MESH_MODEL_ID_CFG_SRV);
|
||||||
|
|
||||||
|
if (config_srv == NULL) {
|
||||||
|
LOG_ERR("Large Composition Data Server cannot extend Configuration server");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,6 +184,8 @@ static int large_comp_data_srv_init(const struct bt_mesh_model *model)
|
||||||
|
|
||||||
srv.model = model;
|
srv.model = model;
|
||||||
|
|
||||||
|
bt_mesh_model_extend(model, config_srv);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue