mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-09 04:45:33 +00:00
Adds support for extended advertiser commands in the mesh. This doubles throughput for common packet sending, and significantly improves timing accuracy for the Friend and Low Power features. The proxy module's advertisement control has been moved inside the adv module to abstract away the different advertiser modes. The extended advertiser mode does not need an advertising thread to operate, and ends up with a net reduction in RAM usage. Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/* Bluetooth Mesh */
|
|
|
|
/*
|
|
* Copyright (c) 2017 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#define BT_MESH_PROXY_NET_PDU 0x00
|
|
#define BT_MESH_PROXY_BEACON 0x01
|
|
#define BT_MESH_PROXY_CONFIG 0x02
|
|
#define BT_MESH_PROXY_PROV 0x03
|
|
|
|
|
|
struct bt_mesh_proxy_idle_cb {
|
|
sys_snode_t n;
|
|
void (*cb)(void);
|
|
};
|
|
|
|
int bt_mesh_proxy_send(struct bt_conn *conn, uint8_t type,
|
|
struct net_buf_simple *msg);
|
|
|
|
int bt_mesh_proxy_prov_enable(void);
|
|
int bt_mesh_proxy_prov_disable(bool disconnect);
|
|
|
|
int bt_mesh_proxy_gatt_enable(void);
|
|
int bt_mesh_proxy_gatt_disable(void);
|
|
void bt_mesh_proxy_gatt_disconnect(void);
|
|
|
|
void bt_mesh_proxy_beacon_send(struct bt_mesh_subnet *sub);
|
|
|
|
struct net_buf_simple *bt_mesh_proxy_get_buf(void);
|
|
|
|
int bt_mesh_proxy_adv_start(void);
|
|
|
|
void bt_mesh_proxy_identity_start(struct bt_mesh_subnet *sub);
|
|
void bt_mesh_proxy_identity_stop(struct bt_mesh_subnet *sub);
|
|
|
|
bool bt_mesh_proxy_relay(struct net_buf_simple *buf, uint16_t dst);
|
|
void bt_mesh_proxy_addr_add(struct net_buf_simple *buf, uint16_t addr);
|
|
|
|
int bt_mesh_proxy_init(void);
|
|
void bt_mesh_proxy_on_idle(struct bt_mesh_proxy_idle_cb *cb);
|