14#ifndef BT_MESH_SCENE_CLI_H__
15#define BT_MESH_SCENE_CLI_H__
31#define BT_MESH_MODEL_SCENE_CLI(_cli) \
32 BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_SCENE_CLI, _bt_mesh_scene_cli_op, \
34 BT_MESH_MODEL_USER_DATA(struct bt_mesh_scene_cli, \
36 &_bt_mesh_scene_cli_cb)
59 struct bt_mesh_msg_ctx *ctx,
69 struct bt_mesh_msg_ctx *ctx,
73 const struct bt_mesh_model *
model;
75 struct bt_mesh_model_pub
pub;
79 uint8_t
buf[BT_MESH_MODEL_BUF_LEN(BT_MESH_SCENE_OP_RECALL,
80 BT_MESH_SCENE_MSG_MAXLEN_RECALL)];
105 struct bt_mesh_msg_ctx *ctx,
130 struct bt_mesh_msg_ctx *ctx,
157 struct bt_mesh_msg_ctx *ctx, uint16_t scene,
174 struct bt_mesh_msg_ctx *ctx, uint16_t scene);
200 struct bt_mesh_msg_ctx *ctx, uint16_t scene,
217 struct bt_mesh_msg_ctx *ctx, uint16_t scene);
244 struct bt_mesh_msg_ctx *ctx, uint16_t scene,
271extern const struct bt_mesh_model_op _bt_mesh_scene_cli_op[];
272extern const struct bt_mesh_model_cb _bt_mesh_scene_cli_cb;
int bt_mesh_scene_cli_register_get(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, struct bt_mesh_scene_register *rsp)
Get the full scene register of a Scene Server.
int bt_mesh_scene_cli_store(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, uint16_t scene, struct bt_mesh_scene_register *rsp)
Store the current state as a scene.
int bt_mesh_scene_cli_delete_unack(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, uint16_t scene)
Delete the given scene without requesting a response.
int bt_mesh_scene_cli_get(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, struct bt_mesh_scene_state *rsp)
Get the current state of a Scene Server.
int bt_mesh_scene_cli_store_unack(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, uint16_t scene)
Store the current state as a scene without requesting a response.
int bt_mesh_scene_cli_recall(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, uint16_t scene, const struct bt_mesh_model_transition *transition, struct bt_mesh_scene_state *rsp)
Recall the given scene.
int bt_mesh_scene_cli_recall_unack(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, uint16_t scene, const struct bt_mesh_model_transition *transition)
Recall the given scene without requesting a response.
int bt_mesh_scene_cli_delete(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, uint16_t scene, struct bt_mesh_scene_register *rsp)
Delete the given scene.
bt_mesh_scene_status
Definition scene.h:27
Definition model_types.h:37
void(* status)(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, const struct bt_mesh_scene_state *state)
Status message callback.
Definition scene_cli.h:58
struct bt_mesh_model_pub pub
Definition scene_cli.h:75
struct bt_mesh_msg_ack_ctx ack_ctx
Definition scene_cli.h:82
uint8_t buf[BT_MESH_MODEL_BUF_LEN(BT_MESH_SCENE_OP_RECALL, BT_MESH_SCENE_MSG_MAXLEN_RECALL)]
Definition scene_cli.h:80
void(* scene_register)(struct bt_mesh_scene_cli *cli, struct bt_mesh_msg_ctx *ctx, const struct bt_mesh_scene_register *reg)
Scene register message callback.
Definition scene_cli.h:68
struct net_buf_simple pub_msg
Definition scene_cli.h:77
const struct bt_mesh_model * model
Definition scene_cli.h:73
uint8_t tid
Definition scene_cli.h:84
Definition scene_cli.h:51
enum bt_mesh_scene_status status
Definition scene_cli.h:41
uint16_t current
Definition scene_cli.h:43
uint16_t * scenes
Definition scene_cli.h:47
size_t count
Definition scene_cli.h:45
Definition scene_cli.h:39