1. Add an API to set Provisioner static oob value 2. Add an API to deinit BLE Mesh stack 3. Add an API to set Provisioner unicast address 4. Add an API to provision devices with fixed address 5. Add an API to store node composition data 6. Add an API to get node with device uuid 7. Add an API to get node with unicast address 8. Add an API to delete node with device uuid 9. Add an API to delete node with unicast address 10. Add an API for Provisioner to update local AppKey 11. Add an API for Provisioner to update local NetKey 12. Support Provisioner persistent functionality 13. Fix Provisioner entering IV Update procedure 14. Fix an issue which may cause client failing to send msg 15. Use bt_mesh.flags to indicate device role 16. Remove several useless macros 17. Callback RSSI of received mesh provisioning packets 18. Modify the Provisioner disable function 19. Change some log level from debug to info 20. Add parameters to Provisioner bind AppKey completion event 21. Fix node ignoring relay messages issue 22. Support using a specific partition for BLE Mesh 23. Fix compile warning when proxy related macros are disabled 24. Clean up BLE Mesh stack included header files 25. NULL can be input if client message needs no parameters 26. Fix compile warning when BT log is disabled 27. Initilize BLE Mesh stack local variables 28. Support using PSRAM for BLE Mesh mutex, queue and task 29. Add a menuconfig option to enable using memory from PSRAM 30. Clean up sdkconfig.defaults of BLE Mesh examples
65 lines
2 KiB
C
65 lines
2 KiB
C
/* Bluetooth Mesh */
|
|
|
|
/*
|
|
* Copyright (c) 2017 Intel Corporation
|
|
* Additional Copyright (c) 2018 Espressif Systems (Shanghai) PTE LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef _PROXY_H_
|
|
#define _PROXY_H_
|
|
|
|
#include "net.h"
|
|
#include "mesh_bearer_adapt.h"
|
|
|
|
#define BLE_MESH_PROXY_NET_PDU 0x00
|
|
#define BLE_MESH_PROXY_BEACON 0x01
|
|
#define BLE_MESH_PROXY_CONFIG 0x02
|
|
#define BLE_MESH_PROXY_PROV 0x03
|
|
|
|
#if CONFIG_BLE_MESH_PROXY
|
|
/**
|
|
* Device Name Characteristic:
|
|
* 1. For iOS, when it tries to get the value of Device Name Characteristic, the PDU
|
|
* "Read By Type Request" will be used, and the valid length of corresponding
|
|
* response is 19 (23 - 1 - 1 - 2).
|
|
* 2. For Android, when it tries to get the value of Device Name Characteristic, the
|
|
* PDU "Read Request" will be used, and the valid length of corresponding response
|
|
* is 22 (23 - 1).
|
|
*/
|
|
#define DEVICE_NAME_SIZE MIN((BLE_MESH_GATT_DEF_MTU_SIZE - 4), (BLE_MESH_GAP_ADV_MAX_LEN - 2))
|
|
#else
|
|
/* For Scan Response Data, the maximum length is 29 (31 - 1 - 1) currently. */
|
|
#define DEVICE_NAME_SIZE (BLE_MESH_GAP_ADV_MAX_LEN - 2)
|
|
#endif
|
|
|
|
int bt_mesh_set_device_name(const char *name);
|
|
|
|
int bt_mesh_proxy_send(struct bt_mesh_conn *conn, u8_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);
|
|
|
|
s32_t bt_mesh_proxy_adv_start(void);
|
|
void bt_mesh_proxy_adv_stop(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, u16_t dst);
|
|
void bt_mesh_proxy_addr_add(struct net_buf_simple *buf, u16_t addr);
|
|
|
|
int bt_mesh_proxy_init(void);
|
|
int bt_mesh_proxy_deinit(void);
|
|
|
|
#endif /* _PROXY_H_ */
|