Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
|
Data Structures | |
struct | bt_mesh_rpr_scan_status |
Scan status response. More... | |
struct | bt_mesh_rpr_caps |
Remote Provisioning Server scanning capabilities. More... | |
struct | bt_mesh_rpr_cli |
Remote Provisioning Client model instance. More... | |
Macros | |
#define | BT_MESH_RPR_SCAN_MAX_DEVS_ANY 0 |
Special value for the max_devs parameter of bt_mesh_rpr_scan_start. | |
#define | BT_MESH_MODEL_RPR_CLI(_cli) |
Remote Provisioning Client model composition data entry. | |
Functions | |
int | bt_mesh_rpr_scan_caps_get (struct bt_mesh_rpr_cli *cli, const struct bt_mesh_rpr_node *srv, struct bt_mesh_rpr_caps *caps) |
Get scanning capabilities of Remote Provisioning Server. | |
int | bt_mesh_rpr_scan_get (struct bt_mesh_rpr_cli *cli, const struct bt_mesh_rpr_node *srv, struct bt_mesh_rpr_scan_status *status) |
Get current scanning state of Remote Provisioning Server. | |
int | bt_mesh_rpr_scan_start (struct bt_mesh_rpr_cli *cli, const struct bt_mesh_rpr_node *srv, const uint8_t uuid[16], uint8_t timeout, uint8_t max_devs, struct bt_mesh_rpr_scan_status *status) |
Start scanning for unprovisioned devices. | |
int | bt_mesh_rpr_scan_start_ext (struct bt_mesh_rpr_cli *cli, const struct bt_mesh_rpr_node *srv, const uint8_t uuid[16], uint8_t timeout, const uint8_t *ad_types, size_t ad_count) |
Start extended scanning for unprovisioned devices. | |
int | bt_mesh_rpr_scan_stop (struct bt_mesh_rpr_cli *cli, const struct bt_mesh_rpr_node *srv, struct bt_mesh_rpr_scan_status *status) |
Stop any ongoing scanning on the Remote Provisioning Server. | |
int | bt_mesh_rpr_link_get (struct bt_mesh_rpr_cli *cli, const struct bt_mesh_rpr_node *srv, struct bt_mesh_rpr_link *rsp) |
Get the current link status of the Remote Provisioning Server. | |
int | bt_mesh_rpr_link_close (struct bt_mesh_rpr_cli *cli, const struct bt_mesh_rpr_node *srv, struct bt_mesh_rpr_link *rsp) |
Close any open link on the Remote Provisioning Server. | |
int32_t | bt_mesh_rpr_cli_timeout_get (void) |
Get the current transmission timeout value. | |
void | bt_mesh_rpr_cli_timeout_set (int32_t timeout) |
Set the transmission timeout value. | |
#define BT_MESH_MODEL_RPR_CLI | ( | _cli | ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Remote Provisioning Client model composition data entry.
_cli | Pointer to a Remote Provisioning Client model instance. |
#define BT_MESH_RPR_SCAN_MAX_DEVS_ANY 0 |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Special value for the max_devs
parameter of bt_mesh_rpr_scan_start.
Tells the Remote Provisioning Server not to put restrictions on the max number of devices reported to the Client.
int32_t bt_mesh_rpr_cli_timeout_get | ( | void | ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Get the current transmission timeout value.
void bt_mesh_rpr_cli_timeout_set | ( | int32_t | timeout | ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Set the transmission timeout value.
The transmission timeout controls the amount of time the Remote Provisioning Client models will wait for a response from the Server.
timeout | The new transmission timeout. |
int bt_mesh_rpr_link_close | ( | struct bt_mesh_rpr_cli * | cli, |
const struct bt_mesh_rpr_node * | srv, | ||
struct bt_mesh_rpr_link * | rsp ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Close any open link on the Remote Provisioning Server.
cli | Remote Provisioning Client. |
srv | Remote Provisioning Server. |
rsp | Link status response buffer. |
int bt_mesh_rpr_link_get | ( | struct bt_mesh_rpr_cli * | cli, |
const struct bt_mesh_rpr_node * | srv, | ||
struct bt_mesh_rpr_link * | rsp ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Get the current link status of the Remote Provisioning Server.
cli | Remote Provisioning Client. |
srv | Remote Provisioning Server. |
rsp | Link status response buffer. |
int bt_mesh_rpr_scan_caps_get | ( | struct bt_mesh_rpr_cli * | cli, |
const struct bt_mesh_rpr_node * | srv, | ||
struct bt_mesh_rpr_caps * | caps ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Get scanning capabilities of Remote Provisioning Server.
cli | Remote Provisioning Client. |
srv | Remote Provisioning Server. |
caps | Capabilities response buffer. |
int bt_mesh_rpr_scan_get | ( | struct bt_mesh_rpr_cli * | cli, |
const struct bt_mesh_rpr_node * | srv, | ||
struct bt_mesh_rpr_scan_status * | status ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Get current scanning state of Remote Provisioning Server.
cli | Remote Provisioning Client. |
srv | Remote Provisioning Server. |
status | Scan status response buffer. |
int bt_mesh_rpr_scan_start | ( | struct bt_mesh_rpr_cli * | cli, |
const struct bt_mesh_rpr_node * | srv, | ||
const uint8_t | uuid[16], | ||
uint8_t | timeout, | ||
uint8_t | max_devs, | ||
struct bt_mesh_rpr_scan_status * | status ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Start scanning for unprovisioned devices.
Tells the Remote Provisioning Server to start scanning for unprovisioned devices. The Server will report back the results through the bt_mesh_rpr_cli::scan_report callback.
Use the uuid
parameter to scan for a specific device, or leave it as NULL to report all unprovisioned devices.
The Server will ignore duplicates, and report up to max_devs
number of devices. Requesting a max_devs
number that's higher than the Server's capability will result in an error.
cli | Remote Provisioning Client. |
srv | Remote Provisioning Server. |
uuid | Device UUID to scan for, or NULL to report all devices. |
timeout | Scan timeout in seconds. Must be at least 1 second. |
max_devs | Max number of devices to report, or 0 to report as many as possible. |
status | Scan status response buffer. |
int bt_mesh_rpr_scan_start_ext | ( | struct bt_mesh_rpr_cli * | cli, |
const struct bt_mesh_rpr_node * | srv, | ||
const uint8_t | uuid[16], | ||
uint8_t | timeout, | ||
const uint8_t * | ad_types, | ||
size_t | ad_count ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Start extended scanning for unprovisioned devices.
Extended scanning supplements regular unprovisioned scanning, by allowing the Server to report additional data for a specific device. The Remote Provisioning Server will use active scanning to request a scan response from the unprovisioned device, if supported. If no UUID is provided, the Server will report a scan on its own OOB information and advertising data.
Use the ad_types array to specify which AD types to include in the scan report. Some AD types invoke special behavior:
The following AD types should not be used:
Additionally, each AD type should only occur once.
cli | Remote Provisioning Client. |
srv | Remote Provisioning Server. |
uuid | Device UUID to start extended scanning for, or NULL to scan the remote server. |
timeout | Scan timeout in seconds. Valid values from BT_MESH_RPR_EXT_SCAN_TIME_MIN to BT_MESH_RPR_EXT_SCAN_TIME_MAX. Ignored if UUID is NULL. |
ad_types | List of AD types to include in the scan report. Must contain 1 to CONFIG_BT_MESH_RPR_AD_TYPES_MAX entries. |
ad_count | Number of AD types in ad_types . |
int bt_mesh_rpr_scan_stop | ( | struct bt_mesh_rpr_cli * | cli, |
const struct bt_mesh_rpr_node * | srv, | ||
struct bt_mesh_rpr_scan_status * | status ) |
#include <zephyr/bluetooth/mesh/rpr_cli.h>
Stop any ongoing scanning on the Remote Provisioning Server.
cli | Remote Provisioning Client. |
srv | Remote Provisioning Server. |
status | Scan status response buffer. |