Skip to content

Commit 8c2751e

Browse files
PavelVPVtrond-snekvik
authored andcommitted
Bluetooth: Mesh: Remove configuration data publication in Light LC
When Light LC Mode Set message is sent with the value Off, 2 messages are published: Light LC Light OnOff Status and Light LC Mode Status. After publication has been moved from the caller thread to work queue in zephyrproject-rtos/zephyr#34310 it became impossible to publish 2 messages consecutively. However, according to the changes in the model spec, section 6.5.1.1 (see Errata ID 11372), Light LC Server should not use publication for configuration data: Changes in the Light LC Mode state, or in the Light LC Occupancy Mode state, or in the Light LC Light OnOff state shall not trigger publication of the Light LC Mode Status, or Light LC OM Status, or Light LC Light OnOff Status messages. This change removes publication of Mode and Occupancy Mode states upon reception of corresponding Set messages. Light OnOff state is published according to state machine's state changes. Signed-off-by: Pavel Vasilyev <[email protected]>
1 parent a76c86f commit 8c2751e

File tree

1 file changed

+0
-6
lines changed

1 file changed

+0
-6
lines changed

subsys/bluetooth/mesh/light_ctrl_srv.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -767,7 +767,6 @@ static void handle_mode_set(struct bt_mesh_model *model,
767767
}
768768

769769
mode_rsp(srv, ctx);
770-
mode_rsp(srv, NULL); /* publish */
771770
}
772771

773772
static void handle_mode_set_unack(struct bt_mesh_model *model,
@@ -781,8 +780,6 @@ static void handle_mode_set_unack(struct bt_mesh_model *model,
781780
if (err) {
782781
return;
783782
}
784-
785-
mode_rsp(srv, NULL); /* publish */
786783
}
787784

788785
static void om_rsp(struct bt_mesh_light_ctrl_srv *srv,
@@ -847,7 +844,6 @@ static void handle_om_set(struct bt_mesh_model *model,
847844
}
848845

849846
om_rsp(srv, ctx);
850-
om_rsp(srv, NULL); /* publish */
851847
}
852848

853849
static void handle_om_set_unack(struct bt_mesh_model *model,
@@ -861,8 +857,6 @@ static void handle_om_set_unack(struct bt_mesh_model *model,
861857
if (err) {
862858
return;
863859
}
864-
865-
om_rsp(srv, NULL); /* publish */
866860
}
867861

868862
static void handle_light_onoff_get(struct bt_mesh_model *model,

0 commit comments

Comments
 (0)