mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-10-01 13:08:08 +00:00
mesh: Fix build with CDB disabled
This commit is contained in:
@@ -404,6 +404,7 @@ static inline unsigned int find_msb_set(uint32_t op)
|
|||||||
#define CONFIG_SETTINGS BLE_MESH_SETTINGS
|
#define CONFIG_SETTINGS BLE_MESH_SETTINGS
|
||||||
#define CONFIG_BT_MESH_PROVISIONER BLE_MESH_PROVISIONER
|
#define CONFIG_BT_MESH_PROVISIONER BLE_MESH_PROVISIONER
|
||||||
#define CONFIG_BT_MESH_PROV_DEVICE BLE_MESH_PROV_DEVICE
|
#define CONFIG_BT_MESH_PROV_DEVICE BLE_MESH_PROV_DEVICE
|
||||||
|
#define CONFIG_BT_MESH_CDB BLE_MESH_CDB
|
||||||
|
|
||||||
/* Above flags are used with IS_ENABLED macro */
|
/* Above flags are used with IS_ENABLED macro */
|
||||||
#define IS_ENABLED(config) MYNEWT_VAL(config)
|
#define IS_ENABLED(config) MYNEWT_VAL(config)
|
||||||
@@ -442,7 +443,6 @@ static inline unsigned int find_msb_set(uint32_t op)
|
|||||||
#define CONFIG_BT_MESH_RELAY MYNEWT_VAL(BLE_MESH_RELAY)
|
#define CONFIG_BT_MESH_RELAY MYNEWT_VAL(BLE_MESH_RELAY)
|
||||||
#define CONFIG_BT_MESH_RELAY_RETRANSMIT_COUNT MYNEWT_VAL(BLE_MESH_RELAY_RETRANSMIT_COUNT)
|
#define CONFIG_BT_MESH_RELAY_RETRANSMIT_COUNT MYNEWT_VAL(BLE_MESH_RELAY_RETRANSMIT_COUNT)
|
||||||
#define CONFIG_BT_MESH_GATT_PROXY_ENABLED MYNEWT_VAL(BLE_MESH_GATT_PROXY_ENABLED)
|
#define CONFIG_BT_MESH_GATT_PROXY_ENABLED MYNEWT_VAL(BLE_MESH_GATT_PROXY_ENABLED)
|
||||||
#define CONFIG_BT_MESH_CDB BLE_MESH_CDB
|
|
||||||
|
|
||||||
#define printk console_printf
|
#define printk console_printf
|
||||||
|
|
||||||
|
|||||||
@@ -504,4 +504,4 @@ void bt_mesh_app_keys_reset(void)
|
|||||||
app_key_del(app);
|
app_key_del(app);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if BLE_MESH_CDB
|
|
||||||
#define BT_DBG_ENABLED MYNEWT_VAL(BLE_MESH_DEBUG_CDB)
|
#define BT_DBG_ENABLED MYNEWT_VAL(BLE_MESH_DEBUG_CDB)
|
||||||
#define LOG_MODULE_NAME bt_mesh_cdb
|
#define LOG_MODULE_NAME bt_mesh_cdb
|
||||||
#include "log/log.h"
|
#include "log/log.h"
|
||||||
@@ -16,7 +15,7 @@
|
|||||||
#include "mesh_priv.h"
|
#include "mesh_priv.h"
|
||||||
#include "mesh/glue.h"
|
#include "mesh/glue.h"
|
||||||
|
|
||||||
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
struct bt_mesh_cdb bt_mesh_cdb = {
|
struct bt_mesh_cdb bt_mesh_cdb = {
|
||||||
.nodes = {
|
.nodes = {
|
||||||
[0 ... (CONFIG_BT_MESH_NODE_COUNT - 1)] = {
|
[0 ... (CONFIG_BT_MESH_NODE_COUNT - 1)] = {
|
||||||
|
|||||||
@@ -399,4 +399,4 @@ int bt_mesh_start(void)
|
|||||||
bt_mesh_model_foreach(model_start, NULL);
|
bt_mesh_model_foreach(model_start, NULL);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ static void pub_key_ready(const uint8_t *pkey);
|
|||||||
|
|
||||||
static int reset_state(void)
|
static int reset_state(void)
|
||||||
{
|
{
|
||||||
#if BLE_MESH_CDB
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
if (prov_device.node != NULL) {
|
if (prov_device.node != NULL) {
|
||||||
bt_mesh_cdb_node_del(prov_device.node, false);
|
bt_mesh_cdb_node_del(prov_device.node, false);
|
||||||
}
|
}
|
||||||
@@ -238,7 +238,7 @@ static void prov_capabilities(const uint8_t *data)
|
|||||||
prov_fail(PROV_ERR_NVAL_FMT);
|
prov_fail(PROV_ERR_NVAL_FMT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#if BLE_MESH_CDB
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
prov_device.node =
|
prov_device.node =
|
||||||
bt_mesh_cdb_node_alloc(prov_device.uuid,
|
bt_mesh_cdb_node_alloc(prov_device.uuid,
|
||||||
prov_device.addr, data[0],
|
prov_device.addr, data[0],
|
||||||
@@ -454,7 +454,7 @@ static void prov_input_complete(const uint8_t *data)
|
|||||||
static void send_prov_data(void)
|
static void send_prov_data(void)
|
||||||
{
|
{
|
||||||
struct os_mbuf *pdu = PROV_BUF(34);
|
struct os_mbuf *pdu = PROV_BUF(34);
|
||||||
#if BLE_MESH_CDB
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
struct bt_mesh_cdb_subnet *sub;
|
struct bt_mesh_cdb_subnet *sub;
|
||||||
#endif
|
#endif
|
||||||
uint8_t session_key[16];
|
uint8_t session_key[16];
|
||||||
@@ -490,7 +490,7 @@ static void send_prov_data(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
BT_DBG("DevKey: %s", bt_hex(prov_device.node->dev_key, 16));
|
BT_DBG("DevKey: %s", bt_hex(prov_device.node->dev_key, 16));
|
||||||
#if BLE_MESH_CDB
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
sub = bt_mesh_cdb_subnet_get(prov_device.node->net_idx);
|
sub = bt_mesh_cdb_subnet_get(prov_device.node->net_idx);
|
||||||
if (sub == NULL) {
|
if (sub == NULL) {
|
||||||
BT_ERR("No subnet with net_idx %u",
|
BT_ERR("No subnet with net_idx %u",
|
||||||
@@ -500,7 +500,7 @@ static void send_prov_data(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
bt_mesh_prov_buf_init(pdu, PROV_DATA);
|
bt_mesh_prov_buf_init(pdu, PROV_DATA);
|
||||||
#if BLE_MESH_CDB
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
net_buf_simple_add_mem(pdu, sub->keys[sub->kr_flag].net_key, 16);
|
net_buf_simple_add_mem(pdu, sub->keys[sub->kr_flag].net_key, 16);
|
||||||
net_buf_simple_add_be16(pdu, prov_device.node->net_idx);
|
net_buf_simple_add_be16(pdu, prov_device.node->net_idx);
|
||||||
net_buf_simple_add_u8(pdu, bt_mesh_cdb_subnet_flags(sub));
|
net_buf_simple_add_u8(pdu, bt_mesh_cdb_subnet_flags(sub));
|
||||||
@@ -537,9 +537,11 @@ static void prov_complete(const uint8_t *data)
|
|||||||
bt_hex(node->dev_key, 16), node->net_idx, node->num_elem,
|
bt_hex(node->dev_key, 16), node->net_idx, node->num_elem,
|
||||||
node->addr);
|
node->addr);
|
||||||
|
|
||||||
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
if (IS_ENABLED(CONFIG_BT_SETTINGS)) {
|
if (IS_ENABLED(CONFIG_BT_SETTINGS)) {
|
||||||
bt_mesh_store_cdb_node(node);
|
bt_mesh_store_cdb_node(node);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
prov_device.node = NULL;
|
prov_device.node = NULL;
|
||||||
prov_link_close(PROV_BEARER_LINK_STATUS_SUCCESS);
|
prov_link_close(PROV_BEARER_LINK_STATUS_SUCCESS);
|
||||||
@@ -743,4 +745,4 @@ int bt_mesh_pb_adv_open(const uint8_t uuid[16], uint16_t net_idx, uint16_t addr,
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -147,9 +147,6 @@ static struct node_update cdb_node_updates[MYNEWT_VAL(BLE_MESH_CDB_NODE_COUNT)];
|
|||||||
static struct key_update cdb_key_updates[
|
static struct key_update cdb_key_updates[
|
||||||
MYNEWT_VAL(BLE_MESH_CDB_SUBNET_COUNT) +
|
MYNEWT_VAL(BLE_MESH_CDB_SUBNET_COUNT) +
|
||||||
MYNEWT_VAL(BLE_MESH_CDB_APP_KEY_COUNT)];
|
MYNEWT_VAL(BLE_MESH_CDB_APP_KEY_COUNT)];
|
||||||
#else
|
|
||||||
static struct node_update cdb_node_updates[0];
|
|
||||||
static struct key_update cdb_key_updates[0];
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int settings_name_next(char *name, char **next)
|
int settings_name_next(char *name, char **next)
|
||||||
@@ -1477,6 +1474,7 @@ static void store_pending_keys(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
static void clear_cdb(void)
|
static void clear_cdb(void)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
@@ -1752,6 +1750,7 @@ static struct node_update *cdb_node_update_find(uint16_t addr,
|
|||||||
|
|
||||||
return match;
|
return match;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void encode_mod_path(struct bt_mesh_model *mod, bool vnd,
|
static void encode_mod_path(struct bt_mesh_model *mod, bool vnd,
|
||||||
const char *key, char *path, size_t path_len)
|
const char *key, char *path, size_t path_len)
|
||||||
@@ -2002,6 +2001,7 @@ static void store_pending(struct ble_npl_event *work)
|
|||||||
store_pending_va();
|
store_pending_va();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
if (IS_ENABLED(CONFIG_BT_MESH_CDB)) {
|
if (IS_ENABLED(CONFIG_BT_MESH_CDB)) {
|
||||||
if (atomic_test_and_clear_bit(bt_mesh_cdb.flags,
|
if (atomic_test_and_clear_bit(bt_mesh_cdb.flags,
|
||||||
BT_MESH_CDB_SUBNET_PENDING)) {
|
BT_MESH_CDB_SUBNET_PENDING)) {
|
||||||
@@ -2023,6 +2023,7 @@ static void store_pending(struct ble_npl_event *work)
|
|||||||
store_pending_cdb_keys();
|
store_pending_cdb_keys();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void bt_mesh_store_rpl(struct bt_mesh_rpl *entry)
|
void bt_mesh_store_rpl(struct bt_mesh_rpl *entry)
|
||||||
@@ -2210,6 +2211,7 @@ void bt_mesh_store_label(void)
|
|||||||
schedule_store(BT_MESH_VA_PENDING);
|
schedule_store(BT_MESH_VA_PENDING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
static void schedule_cdb_store(int flag)
|
static void schedule_cdb_store(int flag)
|
||||||
{
|
{
|
||||||
atomic_set_bit(bt_mesh_cdb.flags, flag);
|
atomic_set_bit(bt_mesh_cdb.flags, flag);
|
||||||
@@ -2402,6 +2404,7 @@ void bt_mesh_clear_cdb_app_key(struct bt_mesh_cdb_app_key *key)
|
|||||||
|
|
||||||
schedule_cdb_store(BT_MESH_CDB_KEYS_PENDING);
|
schedule_cdb_store(BT_MESH_CDB_KEYS_PENDING);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int bt_mesh_model_data_store(struct bt_mesh_model *mod, bool vnd,
|
int bt_mesh_model_data_store(struct bt_mesh_model *mod, bool vnd,
|
||||||
const char *name, const void *data,
|
const char *name, const void *data,
|
||||||
|
|||||||
@@ -2719,7 +2719,7 @@ struct shell_cmd_help cmd_del_fault_help = {
|
|||||||
NULL, "[Fault ID]", NULL
|
NULL, "[Fault ID]", NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
#if BLE_MESH_CDB
|
#if MYNEWT_VAL(BLE_MESH_CDB)
|
||||||
struct shell_cmd_help cmd_cdb_create_help = {
|
struct shell_cmd_help cmd_cdb_create_help = {
|
||||||
NULL, "[NetKey]", NULL
|
NULL, "[NetKey]", NULL
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user