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
70 lines
1.6 KiB
C
70 lines
1.6 KiB
C
/* Bluetooth Mesh */
|
|
|
|
/*
|
|
* Copyright (c) 2017 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef _LPN_H_
|
|
#define _LPN_H_
|
|
|
|
#include "net.h"
|
|
|
|
int bt_mesh_lpn_friend_update(struct bt_mesh_net_rx *rx,
|
|
struct net_buf_simple *buf);
|
|
int bt_mesh_lpn_friend_offer(struct bt_mesh_net_rx *rx,
|
|
struct net_buf_simple *buf);
|
|
int bt_mesh_lpn_friend_clear_cfm(struct bt_mesh_net_rx *rx,
|
|
struct net_buf_simple *buf);
|
|
int bt_mesh_lpn_friend_sub_cfm(struct bt_mesh_net_rx *rx,
|
|
struct net_buf_simple *buf);
|
|
|
|
static inline bool bt_mesh_lpn_established(void)
|
|
{
|
|
#if defined(CONFIG_BLE_MESH_LOW_POWER)
|
|
return bt_mesh.lpn.established;
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
static inline bool bt_mesh_lpn_match(u16_t addr)
|
|
{
|
|
#if defined(CONFIG_BLE_MESH_LOW_POWER)
|
|
if (bt_mesh_lpn_established()) {
|
|
return (addr == bt_mesh.lpn.frnd);
|
|
}
|
|
#endif
|
|
return false;
|
|
}
|
|
|
|
static inline bool bt_mesh_lpn_waiting_update(void)
|
|
{
|
|
#if defined(CONFIG_BLE_MESH_LOW_POWER)
|
|
return (bt_mesh.lpn.state == BLE_MESH_LPN_WAIT_UPDATE);
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
static inline bool bt_mesh_lpn_timer(void)
|
|
{
|
|
#if defined(CONFIG_BLE_MESH_LPN_AUTO)
|
|
return (bt_mesh.lpn.state == BLE_MESH_LPN_TIMER);
|
|
#else
|
|
return false;
|
|
#endif
|
|
}
|
|
|
|
void bt_mesh_lpn_msg_received(struct bt_mesh_net_rx *rx);
|
|
|
|
void bt_mesh_lpn_group_add(u16_t group);
|
|
void bt_mesh_lpn_group_del(u16_t *groups, size_t group_count);
|
|
|
|
void bt_mesh_lpn_disable(bool force);
|
|
|
|
int bt_mesh_lpn_init(void);
|
|
int bt_mesh_lpn_deinit(void);
|
|
|
|
#endif /* _LPN_H_ */
|