Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Bluetooth Mesh. More...
Data Structures | |
struct | bt_mesh_lpn_cb |
Low Power Node callback functions. More... | |
struct | bt_mesh_friend_cb |
Friend Node callback functions. More... | |
Macros | |
#define | BT_MESH_NET_PRIMARY 0x000 |
Primary Network Key index. | |
#define | BT_MESH_FEAT_RELAY BIT(0) |
Relay feature. | |
#define | BT_MESH_FEAT_PROXY BIT(1) |
GATT Proxy feature. | |
#define | BT_MESH_FEAT_FRIEND BIT(2) |
Friend feature. | |
#define | BT_MESH_FEAT_LOW_POWER BIT(3) |
Low Power Node feature. | |
#define | BT_MESH_FEAT_SUPPORTED |
Supported heartbeat publication features. | |
#define | BT_MESH_LPN_CB_DEFINE(_name) |
Register a callback structure for Friendship events. | |
#define | BT_MESH_FRIEND_CB_DEFINE(_name) |
Register a callback structure for Friendship events. | |
Functions | |
int | bt_mesh_init (const struct bt_mesh_prov *prov, const struct bt_mesh_comp *comp) |
Initialize Mesh support. | |
void | bt_mesh_reset (void) |
Reset the state of the local Mesh node. | |
int | bt_mesh_suspend (void) |
Suspend the Mesh network temporarily. | |
int | bt_mesh_resume (void) |
Resume a suspended Mesh network. | |
void | bt_mesh_iv_update_test (bool enable) |
Toggle the IV Update test mode. | |
bool | bt_mesh_iv_update (void) |
Toggle the IV Update state. | |
int | bt_mesh_lpn_set (bool enable) |
Toggle the Low Power feature of the local device. | |
int | bt_mesh_lpn_poll (void) |
Send out a Friend Poll message. | |
int | bt_mesh_friend_terminate (uint16_t lpn_addr) |
Terminate Friendship. | |
void | bt_mesh_rpl_pending_store (uint16_t addr) |
Store pending RPL entry(ies) in the persistent storage. | |
const uint8_t * | bt_mesh_va_uuid_get (uint16_t addr, const uint8_t *uuid, uint16_t *retaddr) |
Iterate stored Label UUIDs. | |
Bluetooth Mesh.
#define BT_MESH_FEAT_FRIEND BIT(2) |
#include <include/zephyr/bluetooth/mesh/main.h>
Friend feature.
#define BT_MESH_FEAT_LOW_POWER BIT(3) |
#include <include/zephyr/bluetooth/mesh/main.h>
Low Power Node feature.
#define BT_MESH_FEAT_PROXY BIT(1) |
#include <include/zephyr/bluetooth/mesh/main.h>
GATT Proxy feature.
#define BT_MESH_FEAT_RELAY BIT(0) |
#include <include/zephyr/bluetooth/mesh/main.h>
Relay feature.
#define BT_MESH_FEAT_SUPPORTED |
#include <include/zephyr/bluetooth/mesh/main.h>
Supported heartbeat publication features.
#define BT_MESH_FRIEND_CB_DEFINE | ( | _name | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Register a callback structure for Friendship events.
Registers a callback structure that will be called whenever Friendship gets established or terminated.
_name | Name of callback structure. |
#define BT_MESH_LPN_CB_DEFINE | ( | _name | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Register a callback structure for Friendship events.
_name | Name of callback structure. |
#define BT_MESH_NET_PRIMARY 0x000 |
#include <include/zephyr/bluetooth/mesh/main.h>
Primary Network Key index.
int bt_mesh_friend_terminate | ( | uint16_t | lpn_addr | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Terminate Friendship.
Terminated Friendship for given LPN.
lpn_addr | Low Power Node address. |
int bt_mesh_init | ( | const struct bt_mesh_prov * | prov, |
const struct bt_mesh_comp * | comp | ||
) |
#include <include/zephyr/bluetooth/mesh/main.h>
Initialize Mesh support.
After calling this API, the node will not automatically advertise as unprovisioned, rather the bt_mesh_prov_enable() API needs to be called to enable unprovisioned advertising on one or more provisioning bearers.
prov | Node provisioning information. |
comp | Node Composition. |
bool bt_mesh_iv_update | ( | void | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Toggle the IV Update state.
This API is only available if the IV Update test mode has been enabled in Kconfig. It is needed for passing most of the IV Update qualification test cases.
void bt_mesh_iv_update_test | ( | bool | enable | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Toggle the IV Update test mode.
This API is only available if the IV Update test mode has been enabled in Kconfig. It is needed for passing most of the IV Update qualification test cases.
enable | true to enable IV Update test mode, false to disable it. |
int bt_mesh_lpn_poll | ( | void | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Send out a Friend Poll message.
Send a Friend Poll message to the Friend of this node. If there is no established Friendship the function will return an error.
int bt_mesh_lpn_set | ( | bool | enable | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Toggle the Low Power feature of the local device.
Enables or disables the Low Power feature of the local device. This is exposed as a run-time feature, since the device might want to change this e.g. based on being plugged into a stable power source or running from a battery power source.
enable | true to enable LPN functionality, false to disable it. |
void bt_mesh_reset | ( | void | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Reset the state of the local Mesh node.
Resets the state of the node, which means that it needs to be reprovisioned to become an active node in a Mesh network again.
After calling this API, the node will not automatically advertise as unprovisioned, rather the bt_mesh_prov_enable() API needs to be called to enable unprovisioned advertising on one or more provisioning bearers.
int bt_mesh_resume | ( | void | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Resume a suspended Mesh network.
This API resumes the local node, after it has been suspended using the bt_mesh_suspend() API.
void bt_mesh_rpl_pending_store | ( | uint16_t | addr | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Store pending RPL entry(ies) in the persistent storage.
This API allows the user to store pending RPL entry(ies) in the persistent storage without waiting for the timeout.
addr | Address of the node which RPL entry needs to be stored or BT_MESH_ADDR_ALL_NODES to store all pending RPL entries. |
int bt_mesh_suspend | ( | void | ) |
#include <include/zephyr/bluetooth/mesh/main.h>
Suspend the Mesh network temporarily.
This API can be used for power saving purposes, but the user should be aware that leaving the local node suspended for a long period of time may cause it to become permanently disconnected from the Mesh network. If at all possible, the Friendship feature should be used instead, to make the node into a Low Power Node.
#include <include/zephyr/bluetooth/mesh/main.h>
Iterate stored Label UUIDs.
When addr
is BT_MESH_ADDR_UNASSIGNED, this function iterates over all available addresses starting with uuid
. In this case, use retaddr
to get virtual address representation of the returned Label UUID. When addr
is a virtual address, this function returns next Label UUID corresponding to the addr
. When uuid
is NULL, this function returns the first available UUID. If uuid
is previously returned uuid, this function returns following uuid.
addr | Virtual address to search for, or BT_MESH_ADDR_UNASSIGNED. |
uuid | Pointer to the previously returned Label UUID or NULL. |
retaddr | Pointer to a memory where virtual address representation of the returning UUID is to be stored to. |