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
77 lines
2.1 KiB
C
77 lines
2.1 KiB
C
/* Bluetooth Mesh */
|
|
|
|
/*
|
|
* Copyright (c) 2017 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef _ACCESS_H_
|
|
#define _ACCESS_H_
|
|
|
|
#include "net.h"
|
|
|
|
/* bt_mesh_model.flags */
|
|
enum {
|
|
BLE_MESH_MOD_BIND_PENDING = BIT(0),
|
|
BLE_MESH_MOD_SUB_PENDING = BIT(1),
|
|
BLE_MESH_MOD_PUB_PENDING = BIT(2),
|
|
};
|
|
|
|
void bt_mesh_elem_register(struct bt_mesh_elem *elem, u8_t count);
|
|
|
|
u8_t bt_mesh_elem_count(void);
|
|
|
|
/* Find local element based on unicast or group address */
|
|
struct bt_mesh_elem *bt_mesh_elem_find(u16_t addr);
|
|
|
|
struct bt_mesh_model *bt_mesh_model_find_vnd(struct bt_mesh_elem *elem,
|
|
u16_t company, u16_t id);
|
|
struct bt_mesh_model *bt_mesh_model_find(struct bt_mesh_elem *elem,
|
|
u16_t id);
|
|
|
|
u16_t *bt_mesh_model_find_group(struct bt_mesh_model *mod, u16_t addr);
|
|
|
|
bool bt_mesh_fixed_group_match(u16_t addr);
|
|
|
|
void bt_mesh_model_foreach(void (*func)(struct bt_mesh_model *mod,
|
|
struct bt_mesh_elem *elem,
|
|
bool vnd, bool primary,
|
|
void *user_data),
|
|
void *user_data);
|
|
|
|
s32_t bt_mesh_model_pub_period_get(struct bt_mesh_model *mod);
|
|
|
|
void bt_mesh_comp_provision(u16_t addr);
|
|
void bt_mesh_comp_unprovision(void);
|
|
|
|
u16_t bt_mesh_primary_addr(void);
|
|
|
|
const struct bt_mesh_comp *bt_mesh_comp_get(void);
|
|
|
|
struct bt_mesh_model *bt_mesh_model_get(bool vnd, u8_t elem_idx, u8_t mod_idx);
|
|
|
|
void bt_mesh_model_recv(struct bt_mesh_net_rx *rx, struct net_buf_simple *buf);
|
|
|
|
int bt_mesh_comp_register(const struct bt_mesh_comp *comp);
|
|
int bt_mesh_comp_deregister(void);
|
|
|
|
struct bt_mesh_subnet *bt_mesh_tx_netkey_get(u8_t role, u16_t net_idx);
|
|
|
|
const u8_t *bt_mesh_tx_devkey_get(u8_t role, u16_t dst);
|
|
|
|
struct bt_mesh_app_key *bt_mesh_tx_appkey_get(u8_t role, u16_t app_idx);
|
|
|
|
size_t bt_mesh_rx_netkey_size(void);
|
|
|
|
struct bt_mesh_subnet *bt_mesh_rx_netkey_get(size_t index);
|
|
|
|
size_t bt_mesh_rx_devkey_size(void);
|
|
|
|
const u8_t *bt_mesh_rx_devkey_get(size_t index, u16_t src);
|
|
|
|
size_t bt_mesh_rx_appkey_size(void);
|
|
|
|
struct bt_mesh_app_key *bt_mesh_rx_appkey_get(size_t index);
|
|
|
|
#endif /* _ACCESS_H_ */
|