|
Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Model publication context. More...
#include <access.h>
Data Fields | |
| const struct bt_mesh_model * | mod |
| The model the context belongs to. | |
| uint16_t | addr |
| Publish Address. | |
| const uint8_t * | uuid |
| Label UUID if Publish Address is Virtual Address. | |
| uint16_t | key:12 |
| Publish AppKey Index. | |
| uint16_t | cred:1 |
| Friendship Credentials Flag. | |
| uint16_t | send_rel:1 |
| Force reliable sending (segment acks) | |
| uint16_t | fast_period:1 |
| Use FastPeriodDivisor. | |
| uint16_t | retr_update:1 |
| Call update callback on every retransmission. | |
| uint8_t | ttl |
| Publish Time to Live. | |
| uint8_t | retransmit |
| Retransmit Count & Interval Steps. | |
| uint8_t | period |
| Publish Period. | |
| uint8_t | period_div:4 |
| Divisor for the Period. | |
| uint8_t | count:4 |
| Transmissions left. | |
| uint8_t | delayable:1 |
| Use random delay for publishing. | |
| uint32_t | period_start |
| Start of the current period. | |
| struct net_buf_simple * | msg |
| Publication buffer, containing the publication message. | |
| int(* | update )(const struct bt_mesh_model *mod) |
| Callback for updating the publication buffer. | |
| struct k_work_delayable | timer |
| Publish Period Timer. | |
Model publication context.
The context should primarily be created using the BT_MESH_MODEL_PUB_DEFINE macro.
| uint16_t bt_mesh_model_pub::addr |
Publish Address.
| uint8_t bt_mesh_model_pub::count |
Transmissions left.
| uint16_t bt_mesh_model_pub::cred |
Friendship Credentials Flag.
| uint8_t bt_mesh_model_pub::delayable |
Use random delay for publishing.
| uint16_t bt_mesh_model_pub::fast_period |
Use FastPeriodDivisor.
| uint16_t bt_mesh_model_pub::key |
Publish AppKey Index.
| const struct bt_mesh_model* bt_mesh_model_pub::mod |
The model the context belongs to.
Initialized by the stack.
| struct net_buf_simple* bt_mesh_model_pub::msg |
Publication buffer, containing the publication message.
This will get correctly created when the publication context has been defined using the BT_MESH_MODEL_PUB_DEFINE macro.
BT_MESH_MODEL_PUB_DEFINE(name, update, size);
| uint8_t bt_mesh_model_pub::period |
Publish Period.
| uint8_t bt_mesh_model_pub::period_div |
Divisor for the Period.
| uint32_t bt_mesh_model_pub::period_start |
Start of the current period.
| uint16_t bt_mesh_model_pub::retr_update |
Call update callback on every retransmission.
| uint8_t bt_mesh_model_pub::retransmit |
Retransmit Count & Interval Steps.
| uint16_t bt_mesh_model_pub::send_rel |
Force reliable sending (segment acks)
| struct k_work_delayable bt_mesh_model_pub::timer |
Publish Period Timer.
Only for stack-internal use.
| uint8_t bt_mesh_model_pub::ttl |
Publish Time to Live.
| int(* bt_mesh_model_pub::update) (const struct bt_mesh_model *mod) |
Callback for updating the publication buffer.
When set to NULL, the model is assumed not to support periodic publishing. When set to non-NULL the callback will be called periodically and is expected to update bt_mesh_model_pub::msg with a valid publication message.
If the callback returns non-zero, the publication is skipped and will resume on the next periodic publishing interval.
When bt_mesh_model_pub::retr_update is set to 1, the callback will be called on every retransmission.
| mod | The Model the Publication Context belongs to. |
| const uint8_t* bt_mesh_model_pub::uuid |
Label UUID if Publish Address is Virtual Address.