Generic Battery Server¶
The Generic Battery Server model provides information about the current battery status of the device.
States¶
The Generic Battery Server model contains the following state:
- Generic Battery Status:
bt_mesh_battery_status
The Generic Battery Status is a composite state, which means that it contains various information about the battery state. The battery state can only be changed locally, so a Generic Battery Client is only able to observe it.
Your application is expected to hold the Generic Battery Status state memory and provide access to the state through the
bt_mesh_battery_srv.get
handler function. All the fields in the Generic Battery Status have special unknown values, which are used by default.
Extended models¶
None.
Persistent storage¶
None.
API documentation¶
include/bluetooth/mesh/gen_battery_srv.h
subsys/bluetooth/mesh/gen_battery_srv.c
-
group
bt_mesh_battery_srv
API for the Generic Battery Server model.
Defines
-
BT_MESH_BATTERY_SRV_INIT
(_get_handler)¶ Init parameters for a Generic Battery Server model instance.
- Parameters
[in] _get_handler
: Get handler function for the Battery state.
-
BT_MESH_MODEL_BATTERY_SRV
(_srv)¶ Generic Battery Server model composition data entry.
- Parameters
[in] _srv
: Pointer to a Generic Battery Server model instance.
Functions
-
int32_t
bt_mesh_battery_srv_pub
(struct bt_mesh_battery_srv *srv, struct bt_mesh_msg_ctx *ctx, const struct bt_mesh_battery_status *status)¶ Publish the Generic Battery Server model status.
Asynchronously publishes a Generic Battery status message with the configured publish parameters.
- Note
This API is only used for publishing unprompted status messages. Response messages for get and set messages are handled internally.
- Parameters
[in] srv
: Server instance to publish on.[in] ctx
: Message context to send with, or NULL to send with the default publish parameters.[in] status
: Current status.
- Return Value
0
: Successfully published a Generic Battery Status message.-EADDRNOTAVAIL
: A message context was not provided and publishing is not configured.-EAGAIN
: The device has not been provisioned.
-
struct
bt_mesh_battery_srv
¶ - #include <gen_battery_srv.h>
Generic Battery Server instance. Should primarily be initialized with the BT_MESH_BATTERY_SRV_INIT macro.
Public Members
-
struct bt_mesh_model *
model
¶ Pointer to the model entry in the composition data.
-
struct bt_mesh_model_pub
pub
¶ Publication parameters.
-
void (*const
get
)(struct bt_mesh_battery_srv *srv, struct bt_mesh_msg_ctx *ctx, struct bt_mesh_battery_status *rsp)¶ Get the Battery state.
- Note
This handler is mandatory.
- Parameters
[in] srv
: Server instance to get the state of.[in] ctx
: Message context for the message that triggered the change, or NULL if the change is not coming from a message.[out] rsp
: Response structure to be filled. All fields are initialized to special unknown values before calling, so only states that have known values need to be filled.
-
struct bt_mesh_model *
-