From 6b3109d161f45d14cc72fcad2cf54d59e9c54bf8 Mon Sep 17 00:00:00 2001 From: InfiniteYuan Date: Tue, 16 Aug 2022 17:50:16 +0800 Subject: [PATCH] ble_mesh: example: fix the structure init order to meet C++ requirements Closes https://github.com/espressif/esp-idf/issues/8110 --- .../aligenie_demo/main/aligenie_demo.c | 88 ++++++++++++------- .../aligenie_demo/main/include/board.h | 9 +- .../fast_prov_client/main/main.c | 24 ++--- .../fast_prov_server/main/board.h | 8 ++ .../fast_prov_server/main/main.c | 34 +++---- .../ble_mesh_node/onoff_client/main/board.h | 10 ++- .../ble_mesh_node/onoff_client/main/main.c | 24 ++--- .../ble_mesh_node/onoff_server/main/board.h | 10 ++- .../ble_mesh_node/onoff_server/main/main.c | 46 +++++----- .../ble_mesh_provisioner/main/main.c | 34 +++---- .../sensor_client/main/board.h | 8 ++ .../sensor_client/main/main.c | 14 +-- .../sensor_server/main/board.h | 10 ++- .../sensor_server/main/main.c | 78 +++++++++------- .../vendor_client/main/board.h | 8 ++ .../vendor_client/main/main.c | 14 +-- .../vendor_server/main/board.h | 10 ++- .../vendor_server/main/main.c | 22 ++--- .../ble_mesh_wifi_coexist/main/main.c | 24 ++--- .../example_init/ble_mesh_example_init.h | 8 ++ .../example_nvs/ble_mesh_example_nvs.h | 8 ++ .../ble_mesh_fast_prov_client_model.h | 8 ++ .../ble_mesh_fast_prov_common.h | 8 ++ .../ble_mesh_fast_prov_operation.h | 8 ++ .../ble_mesh_fast_prov_server_model.h | 8 ++ 25 files changed, 330 insertions(+), 193 deletions(-) diff --git a/examples/bluetooth/esp_ble_mesh/aligenie_demo/main/aligenie_demo.c b/examples/bluetooth/esp_ble_mesh/aligenie_demo/main/aligenie_demo.c index 782f64bb10..f47cc819e6 100644 --- a/examples/bluetooth/esp_ble_mesh/aligenie_demo/main/aligenie_demo.c +++ b/examples/bluetooth/esp_ble_mesh/aligenie_demo/main/aligenie_demo.c @@ -71,23 +71,23 @@ static uint8_t dev_uuid[16] = { }; static esp_ble_mesh_cfg_srv_t config_server = { + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), .relay = ESP_BLE_MESH_RELAY_ENABLED, + /* 3 transmissions with 20ms interval */ + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_ENABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - /* 3 transmissions with 20ms interval */ - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; uint8_t test_ids[1] = {0x00}; @@ -95,15 +95,19 @@ uint8_t test_ids[1] = {0x00}; /** ESP BLE Mesh Health Server Model Context */ ESP_BLE_MESH_MODEL_PUB_DEFINE(health_pub, 2 + 11, ROLE_NODE); static esp_ble_mesh_health_srv_t health_server = { - .health_test.id_count = 1, - .health_test.test_ids = test_ids, + .health_test = { + .id_count = 1, + .test_ids = test_ids, + }, }; #ifdef CONFIG_MESH_MODEL_GEN_ONOFF_SRV ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_pub_0, 2 + 3, ROLE_NODE); static esp_ble_mesh_gen_onoff_srv_t onoff_server_0 = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + }, }; #endif @@ -114,16 +118,20 @@ static esp_ble_mesh_light_lightness_state_t lightness_state; /* Light Lightness Server related context */ ESP_BLE_MESH_MODEL_PUB_DEFINE(lightness_pub, 2 + 5, ROLE_NODE); static esp_ble_mesh_light_lightness_srv_t lightness_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + }, .state = &lightness_state, }; /* Light Lightness Setup Server related context */ ESP_BLE_MESH_MODEL_PUB_DEFINE(lightness_setup_pub, 2 + 5, ROLE_NODE); static esp_ble_mesh_light_lightness_setup_srv_t lightness_setup_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + }, .state = &lightness_state, }; #endif @@ -135,16 +143,20 @@ static esp_ble_mesh_light_ctl_state_t ctl_state; /* Light CTL Server related context */ ESP_BLE_MESH_MODEL_PUB_DEFINE(ctl_pub, 2 + 9, ROLE_NODE); static esp_ble_mesh_light_ctl_srv_t ctl_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + }, .state = &ctl_state, }; /* Light CTL Setup Server related context */ ESP_BLE_MESH_MODEL_PUB_DEFINE(ctl_setup_pub, 2 + 6, ROLE_NODE); static esp_ble_mesh_light_ctl_setup_srv_t ctl_setup_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + }, .state = &ctl_state, }; #endif @@ -156,16 +168,20 @@ static esp_ble_mesh_light_hsl_state_t hsl_state; /* Light HSL Server related context */ ESP_BLE_MESH_MODEL_PUB_DEFINE(hsl_pub, 2 + 9, ROLE_NODE); static esp_ble_mesh_light_hsl_srv_t hsl_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + }, .state = &hsl_state, }; /* Light HSL Setup Server related context */ ESP_BLE_MESH_MODEL_PUB_DEFINE(hsl_setup_pub, 2 + 9, ROLE_NODE); static esp_ble_mesh_light_hsl_setup_srv_t hsl_setup_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + }, .state = &hsl_state, }; #endif @@ -212,14 +228,18 @@ static esp_ble_mesh_model_t ali_vnd_models[] = { ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_pub_1, 2 + 3, ROLE_NODE); static esp_ble_mesh_gen_onoff_srv_t onoff_server_1 = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + }, }; ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_pub_2, 2 + 3, ROLE_NODE); static esp_ble_mesh_gen_onoff_srv_t onoff_server_2 = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + }, }; static esp_ble_mesh_model_t extend_model_0[] = { @@ -238,8 +258,8 @@ esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t composition = { .cid = CID_ALIBABA, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; /* Disable OOB security for SILabs Android app */ @@ -473,7 +493,7 @@ void user_genie_event_handle(genie_event_t event, void *p_arg) case GENIE_EVT_SDK_COLOR_ACTION: { ESP_LOGI(TAG, "GENIE_EVT_SDK_COLOR_ACTION"); #ifdef CONFIG_MESH_MODEL_HSL_SRV - uint8_t *p_data = p_arg; + uint8_t *p_data = (uint8_t *)p_arg; uint16_t lightness = *p_data++; lightness += (*p_data++ << 8); @@ -1040,7 +1060,7 @@ static void example_ble_mesh_generic_server_cb(esp_ble_mesh_generic_server_cb_ev case ESP_BLE_MESH_GENERIC_SERVER_RECV_GET_MSG_EVT: ESP_LOGI(TAG, "ESP_BLE_MESH_GENERIC_SERVER_RECV_GET_MSG_EVT"); if (param->ctx.recv_op == ESP_BLE_MESH_MODEL_OP_GEN_ONOFF_GET) { - esp_ble_mesh_gen_onoff_srv_t *srv = param->model->user_data; + esp_ble_mesh_gen_onoff_srv_t *srv = (esp_ble_mesh_gen_onoff_srv_t *)param->model->user_data; ESP_LOGI(TAG, "onoff: 0x%02x", srv->state.onoff); esp_ble_mesh_server_model_send_msg(param->model, ¶m->ctx, ESP_BLE_MESH_MODEL_OP_GEN_ONOFF_STATUS, sizeof(srv->state.onoff), &srv->state.onoff); @@ -1056,7 +1076,7 @@ static void example_ble_mesh_generic_server_cb(esp_ble_mesh_generic_server_cb_ev param->value.set.onoff.trans_time, param->value.set.onoff.delay); } - esp_ble_mesh_gen_onoff_srv_t *srv = param->model->user_data; + esp_ble_mesh_gen_onoff_srv_t *srv = (esp_ble_mesh_gen_onoff_srv_t *)param->model->user_data; if (param->value.set.onoff.op_en == false) { srv->state.onoff = param->value.set.onoff.onoff; } else { @@ -1263,7 +1283,7 @@ static esp_err_t ble_mesh_init(void) return err; } - ESP_ERROR_CHECK(esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); + ESP_ERROR_CHECK(esp_ble_mesh_node_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT))); if (esp_ble_mesh_node_is_provisioned()) { ESP_LOGW(TAG, "node already provisioned"); diff --git a/examples/bluetooth/esp_ble_mesh/aligenie_demo/main/include/board.h b/examples/bluetooth/esp_ble_mesh/aligenie_demo/main/include/board.h index 23742ed419..b691a5951b 100644 --- a/examples/bluetooth/esp_ble_mesh/aligenie_demo/main/include/board.h +++ b/examples/bluetooth/esp_ble_mesh/aligenie_demo/main/include/board.h @@ -10,14 +10,13 @@ #ifndef _BOARD_H_ #define _BOARD_H_ -#include "driver/gpio.h" - -#include "light_driver.h" - #ifdef __cplusplus extern "C" { #endif /**< __cplusplus */ +#include "driver/gpio.h" +#include "light_driver.h" + #define LED_ON 1 #define LED_OFF 0 @@ -82,4 +81,4 @@ uint8_t *mac_str2hex(const char *mac_str, uint8_t *mac_hex); } #endif /**< __cplusplus */ -#endif +#endif /* _BOARD_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_client/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_client/main/main.c index a3dd1df77b..42d5ffbd66 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_client/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_client/main/main.c @@ -47,22 +47,22 @@ static const esp_ble_mesh_client_op_pair_t fast_prov_cli_op_pair[] = { }; static esp_ble_mesh_cfg_srv_t config_server = { + /* 3 transmissions with a 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), .relay = ESP_BLE_MESH_RELAY_DISABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_ENABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with a 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; esp_ble_mesh_client_t config_client; esp_ble_mesh_client_t gen_onoff_client; @@ -95,8 +95,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t comp = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; static esp_ble_mesh_prov_t prov = { @@ -217,10 +217,10 @@ static void example_recv_unprov_adv_pkt(uint8_t dev_uuid[16], uint8_t addr[BLE_M add: memcpy(add_dev.addr, addr, 6); - add_dev.addr_type = (uint8_t)addr_type; + add_dev.addr_type = (esp_ble_mesh_addr_type_t)addr_type; memcpy(add_dev.uuid, dev_uuid, 16); add_dev.oob_info = oob_info; - add_dev.bearer = (uint8_t)bearer; + add_dev.bearer = (esp_ble_mesh_prov_bearer_t)bearer; flag = ADD_DEV_RM_AFTER_PROV_FLAG | ADD_DEV_START_PROV_NOW_FLAG | ADD_DEV_FLUSHABLE_DEV_FLAG; err = esp_ble_mesh_provisioner_add_unprov_dev(&add_dev, flag); if (err != ESP_OK) { @@ -557,7 +557,7 @@ static esp_err_t ble_mesh_init(void) return ESP_FAIL; } - err = esp_ble_mesh_provisioner_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_provisioner_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "%s: Failed to enable provisioning", __func__); return ESP_FAIL; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_server/main/board.h b/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_server/main/board.h index 9db789ce10..343761aacb 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_server/main/board.h +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_server/main/board.h @@ -15,6 +15,10 @@ #ifndef _BOARD_H_ #define _BOARD_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + #include "sdkconfig.h" #include "driver/gpio.h" #include "esp_ble_mesh_defs.h" @@ -52,4 +56,8 @@ void board_led_operation(uint8_t pin, uint8_t onoff); esp_err_t board_init(void); +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + #endif diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_server/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_server/main/main.c index 26324d9397..c11721bdcd 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_server/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/fast_prov_server/main/main.c @@ -54,22 +54,22 @@ esp_ble_mesh_client_t config_client; /* Configuration Server Model user_data */ esp_ble_mesh_cfg_srv_t config_server = { + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), .relay = ESP_BLE_MESH_RELAY_ENABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_DISABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; /* Fast Prov Client Model user_data */ @@ -83,6 +83,7 @@ example_fast_prov_server_t fast_prov_server = { .primary_role = false, .max_node_num = 6, .prov_node_cnt = 0x0, + .app_idx = ESP_BLE_MESH_KEY_UNUSED, .unicast_min = ESP_BLE_MESH_ADDR_UNASSIGNED, .unicast_max = ESP_BLE_MESH_ADDR_UNASSIGNED, .unicast_cur = ESP_BLE_MESH_ADDR_UNASSIGNED, @@ -90,7 +91,6 @@ example_fast_prov_server_t fast_prov_server = { .flags = 0x0, .iv_index = 0x0, .net_idx = ESP_BLE_MESH_KEY_UNUSED, - .app_idx = ESP_BLE_MESH_KEY_UNUSED, .group_addr = ESP_BLE_MESH_ADDR_UNASSIGNED, .prim_prov_addr = ESP_BLE_MESH_ADDR_UNASSIGNED, .match_len = 0x0, @@ -100,8 +100,10 @@ example_fast_prov_server_t fast_prov_server = { ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_pub, 2 + 3, ROLE_FAST_PROV); static esp_ble_mesh_gen_onoff_srv_t onoff_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + } }; static esp_ble_mesh_model_op_t fast_prov_srv_op[] = { @@ -140,8 +142,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t comp = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; static esp_ble_mesh_prov_t prov = { @@ -299,9 +301,9 @@ static void example_recv_unprov_adv_pkt(uint8_t dev_uuid[16], uint8_t addr[BLE_M } } - add_dev.addr_type = (uint8_t)addr_type; + add_dev.addr_type = (esp_ble_mesh_addr_type_t)addr_type; add_dev.oob_info = oob_info; - add_dev.bearer = (uint8_t)bearer; + add_dev.bearer = (esp_ble_mesh_prov_bearer_t)bearer; memcpy(add_dev.uuid, dev_uuid, 16); memcpy(add_dev.addr, addr, BLE_MESH_ADDR_LEN); flag = ADD_DEV_RM_AFTER_PROV_FLAG | ADD_DEV_START_PROV_NOW_FLAG | ADD_DEV_FLUSHABLE_DEV_FLAG; @@ -442,8 +444,8 @@ static void example_ble_mesh_custom_model_cb(esp_ble_mesh_model_cb_event_t event case ESP_BLE_MESH_VND_MODEL_OP_FAST_PROV_NODE_GROUP_DELETE: { ESP_LOGI(TAG, "%s: Fast prov server receives msg, opcode 0x%04x", __func__, opcode); struct net_buf_simple buf = { - .len = param->model_operation.length, .data = param->model_operation.msg, + .len = param->model_operation.length, }; err = example_fast_prov_server_recv_msg(param->model_operation.model, param->model_operation.ctx, &buf); @@ -717,7 +719,7 @@ static esp_err_t ble_mesh_init(void) k_delayed_work_init(&send_self_prov_node_addr_timer, example_send_self_prov_node_addr); - err = esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_node_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "%s: Failed to enable node provisioning", __func__); return err; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/main/board.h b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/main/board.h index 113c405f5b..9d896905a2 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/main/board.h +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/main/board.h @@ -9,6 +9,10 @@ #ifndef _BOARD_H_ #define _BOARD_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + #include "driver/gpio.h" #include "esp_ble_mesh_defs.h" @@ -44,4 +48,8 @@ void board_led_operation(uint8_t pin, uint8_t onoff); void board_init(void); -#endif +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + +#endif /* _BOARD_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/main/main.c index e8d45c8fea..fd2a40ad3a 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/main/main.c @@ -47,22 +47,22 @@ static const char * NVS_KEY = "onoff_client"; static esp_ble_mesh_client_t onoff_client; static esp_ble_mesh_cfg_srv_t config_server = { - .relay = ESP_BLE_MESH_RELAY_ENABLED, + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), + .relay = ESP_BLE_MESH_RELAY_DISABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_ENABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_cli_pub, 2 + 1, ROLE_NODE); @@ -78,8 +78,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t composition = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; /* Disable OOB security for SILabs Android app */ @@ -88,8 +88,8 @@ static esp_ble_mesh_prov_t provision = { #if 0 .output_size = 4, .output_actions = ESP_BLE_MESH_DISPLAY_NUMBER, - .input_actions = ESP_BLE_MESH_PUSH, .input_size = 4, + .input_actions = ESP_BLE_MESH_PUSH, #else .output_size = 0, .output_actions = 0, @@ -277,7 +277,7 @@ static esp_err_t ble_mesh_init(void) return err; } - err = esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_node_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to enable mesh node (err %d)", err); return err; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/main/board.h b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/main/board.h index fd25352275..9de9461d2e 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/main/board.h +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/main/board.h @@ -9,6 +9,10 @@ #ifndef _BOARD_H_ #define _BOARD_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + #include "driver/gpio.h" #if defined(CONFIG_BLE_MESH_ESP_WROOM_32) @@ -43,4 +47,8 @@ void board_led_operation(uint8_t pin, uint8_t onoff); void board_init(void); -#endif +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + +#endif /* _BOARD_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/main/main.c index 0ba6c7ad38..972326f9cc 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/main/main.c @@ -33,40 +33,46 @@ extern struct _led_state led_state[3]; static uint8_t dev_uuid[16] = { 0xdd, 0xdd }; static esp_ble_mesh_cfg_srv_t config_server = { - .relay = ESP_BLE_MESH_RELAY_ENABLED, + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), + .relay = ESP_BLE_MESH_RELAY_DISABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_ENABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_pub_0, 2 + 3, ROLE_NODE); static esp_ble_mesh_gen_onoff_srv_t onoff_server_0 = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + }, }; ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_pub_1, 2 + 3, ROLE_NODE); static esp_ble_mesh_gen_onoff_srv_t onoff_server_1 = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + }, }; ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_pub_2, 2 + 3, ROLE_NODE); static esp_ble_mesh_gen_onoff_srv_t onoff_server_2 = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + }, }; static esp_ble_mesh_model_t root_models[] = { @@ -90,8 +96,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t composition = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; /* Disable OOB security for SILabs Android app */ @@ -100,8 +106,8 @@ static esp_ble_mesh_prov_t provision = { #if 0 .output_size = 4, .output_actions = ESP_BLE_MESH_DISPLAY_NUMBER, - .input_actions = ESP_BLE_MESH_PUSH, .input_size = 4, + .input_actions = ESP_BLE_MESH_PUSH, #else .output_size = 0, .output_actions = 0, @@ -145,7 +151,7 @@ static void example_handle_gen_onoff_msg(esp_ble_mesh_model_t *model, esp_ble_mesh_msg_ctx_t *ctx, esp_ble_mesh_server_recv_gen_onoff_set_t *set) { - esp_ble_mesh_gen_onoff_srv_t *srv = model->user_data; + esp_ble_mesh_gen_onoff_srv_t *srv = (esp_ble_mesh_gen_onoff_srv_t *)model->user_data; switch (ctx->recv_op) { case ESP_BLE_MESH_MODEL_OP_GEN_ONOFF_GET: @@ -226,7 +232,7 @@ static void example_ble_mesh_generic_server_cb(esp_ble_mesh_generic_server_cb_ev case ESP_BLE_MESH_GENERIC_SERVER_RECV_GET_MSG_EVT: ESP_LOGI(TAG, "ESP_BLE_MESH_GENERIC_SERVER_RECV_GET_MSG_EVT"); if (param->ctx.recv_op == ESP_BLE_MESH_MODEL_OP_GEN_ONOFF_GET) { - srv = param->model->user_data; + srv = (esp_ble_mesh_gen_onoff_srv_t *)param->model->user_data; ESP_LOGI(TAG, "onoff 0x%02x", srv->state.onoff); example_handle_gen_onoff_msg(param->model, ¶m->ctx, NULL); } @@ -297,7 +303,7 @@ static esp_err_t ble_mesh_init(void) return err; } - err = esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_node_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to enable mesh node (err %d)", err); return err; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_provisioner/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_provisioner/main/main.c index 3e37659835..00da0feafc 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_provisioner/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_provisioner/main/main.c @@ -49,13 +49,7 @@ typedef struct { uint8_t onoff; } esp_ble_mesh_node_info_t; -static esp_ble_mesh_node_info_t nodes[CONFIG_BLE_MESH_MAX_PROV_NODES] = { - [0 ... (CONFIG_BLE_MESH_MAX_PROV_NODES - 1)] = { - .unicast = ESP_BLE_MESH_ADDR_UNASSIGNED, - .elem_num = 0, - .onoff = LED_OFF, - } -}; +static esp_ble_mesh_node_info_t nodes[CONFIG_BLE_MESH_MAX_PROV_NODES] = {0}; static struct esp_ble_mesh_key { uint16_t net_idx; @@ -67,22 +61,22 @@ static esp_ble_mesh_client_t config_client; static esp_ble_mesh_client_t onoff_client; static esp_ble_mesh_cfg_srv_t config_server = { + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), .relay = ESP_BLE_MESH_RELAY_DISABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_ENABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; static esp_ble_mesh_model_t root_models[] = { @@ -97,8 +91,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t composition = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; static esp_ble_mesh_prov_t provision = { @@ -257,14 +251,14 @@ static void recv_unprov_adv_pkt(uint8_t dev_uuid[16], uint8_t addr[BD_ADDR_LEN], ESP_LOGI(TAG, "oob info: %d, bearer: %s", oob_info, (bearer & ESP_BLE_MESH_PROV_ADV) ? "PB-ADV" : "PB-GATT"); memcpy(add_dev.addr, addr, BD_ADDR_LEN); - add_dev.addr_type = (uint8_t)addr_type; + add_dev.addr_type = (esp_ble_mesh_addr_type_t)addr_type; memcpy(add_dev.uuid, dev_uuid, 16); add_dev.oob_info = oob_info; - add_dev.bearer = (uint8_t)bearer; + add_dev.bearer = (esp_ble_mesh_prov_bearer_t)bearer; /* Note: If unprovisioned device adv packets have not been received, we should not add device with ADD_DEV_START_PROV_NOW_FLAG set. */ err = esp_ble_mesh_provisioner_add_unprov_dev(&add_dev, - ADD_DEV_RM_AFTER_PROV_FLAG | ADD_DEV_START_PROV_NOW_FLAG | ADD_DEV_FLUSHABLE_DEV_FLAG); + (esp_ble_mesh_dev_add_flag_t)(ADD_DEV_RM_AFTER_PROV_FLAG | ADD_DEV_START_PROV_NOW_FLAG | ADD_DEV_FLUSHABLE_DEV_FLAG)); if (err) { ESP_LOGE(TAG, "%s: Add unprovisioned device into queue failed", __func__); } @@ -606,7 +600,7 @@ static esp_err_t ble_mesh_init(void) return err; } - err = esp_ble_mesh_provisioner_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_provisioner_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to enable mesh provisioner (err %d)", err); return err; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_client/main/board.h b/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_client/main/board.h index 3b96149465..dd65092fe6 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_client/main/board.h +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_client/main/board.h @@ -9,6 +9,14 @@ #ifndef _BOARD_H_ #define _BOARD_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + void board_init(void); +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + #endif /* _BOARD_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_client/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_client/main/main.c index 41c5c5e215..99a29b2ee1 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_client/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_client/main/main.c @@ -52,7 +52,10 @@ static struct esp_ble_mesh_key { } prov_key; static esp_ble_mesh_cfg_srv_t config_server = { + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), .relay = ESP_BLE_MESH_RELAY_DISABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_DISABLED, #if defined(CONFIG_BLE_MESH_FRIEND) .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, @@ -60,9 +63,6 @@ static esp_ble_mesh_cfg_srv_t config_server = { .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; static esp_ble_mesh_client_t config_client; @@ -80,8 +80,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t composition = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; static esp_ble_mesh_prov_t provision = { @@ -162,10 +162,10 @@ static void recv_unprov_adv_pkt(uint8_t dev_uuid[ESP_BLE_MESH_OCTET16_LEN], uint ESP_LOGI(TAG, "oob info 0x%04x, bearer %s", oob_info, (bearer & ESP_BLE_MESH_PROV_ADV) ? "PB-ADV" : "PB-GATT"); memcpy(add_dev.addr, addr, BD_ADDR_LEN); - add_dev.addr_type = (uint8_t)addr_type; + add_dev.addr_type = (esp_ble_mesh_addr_type_t)addr_type; memcpy(add_dev.uuid, dev_uuid, ESP_BLE_MESH_OCTET16_LEN); add_dev.oob_info = oob_info; - add_dev.bearer = (uint8_t)bearer; + add_dev.bearer = (esp_ble_mesh_prov_bearer_t)bearer; /* Note: If unprovisioned device adv packets have not been received, we should not add device with ADD_DEV_START_PROV_NOW_FLAG set. */ err = esp_ble_mesh_provisioner_add_unprov_dev(&add_dev, @@ -646,7 +646,7 @@ static esp_err_t ble_mesh_init(void) return err; } - err = esp_ble_mesh_provisioner_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_provisioner_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to enable mesh provisioner"); return err; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_server/main/board.h b/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_server/main/board.h index fd25352275..9de9461d2e 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_server/main/board.h +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_server/main/board.h @@ -9,6 +9,10 @@ #ifndef _BOARD_H_ #define _BOARD_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + #include "driver/gpio.h" #if defined(CONFIG_BLE_MESH_ESP_WROOM_32) @@ -43,4 +47,8 @@ void board_led_operation(uint8_t pin, uint8_t onoff); void board_init(void); -#endif +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + +#endif /* _BOARD_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_server/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_server/main/main.c index e171ef6619..28abe0c857 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_server/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_sensor_model/sensor_server/main/main.c @@ -48,22 +48,22 @@ static int8_t outdoor_temp = 60; /* Outdoor temperature is 30 Degrees Celsius static uint8_t dev_uuid[ESP_BLE_MESH_OCTET16_LEN] = { 0x32, 0x10 }; static esp_ble_mesh_cfg_srv_t config_server = { + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), .relay = ESP_BLE_MESH_RELAY_ENABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_ENABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; NET_BUF_SIMPLE_DEFINE_STATIC(sensor_data_0, 1); @@ -88,41 +88,53 @@ static esp_ble_mesh_sensor_state_t sensor_states[2] = { * Sensor Descriptor state represents the attributes describing the sensor * data. This state does not change throughout the lifetime of an element. */ - .descriptor.positive_tolerance = SENSOR_POSITIVE_TOLERANCE, - .descriptor.negative_tolerance = SENSOR_NEGATIVE_TOLERANCE, - .descriptor.sampling_function = SENSOR_SAMPLE_FUNCTION, - .descriptor.measure_period = SENSOR_MEASURE_PERIOD, - .descriptor.update_interval = SENSOR_UPDATE_INTERVAL, - .sensor_data.format = ESP_BLE_MESH_SENSOR_DATA_FORMAT_A, - .sensor_data.length = 0, /* 0 represents the length is 1 */ - .sensor_data.raw_value = &sensor_data_0, + .descriptor = { + .positive_tolerance = SENSOR_POSITIVE_TOLERANCE, + .negative_tolerance = SENSOR_NEGATIVE_TOLERANCE, + .sampling_function = SENSOR_SAMPLE_FUNCTION, + .measure_period = SENSOR_MEASURE_PERIOD, + .update_interval = SENSOR_UPDATE_INTERVAL, + }, + .sensor_data = { + .format = ESP_BLE_MESH_SENSOR_DATA_FORMAT_A, + .length = 0, /* 0 represents the length is 1 */ + .raw_value = &sensor_data_0, + }, }, [1] = { .sensor_property_id = SENSOR_PROPERTY_ID_1, - .descriptor.positive_tolerance = SENSOR_POSITIVE_TOLERANCE, - .descriptor.negative_tolerance = SENSOR_NEGATIVE_TOLERANCE, - .descriptor.sampling_function = SENSOR_SAMPLE_FUNCTION, - .descriptor.measure_period = SENSOR_MEASURE_PERIOD, - .descriptor.update_interval = SENSOR_UPDATE_INTERVAL, - .sensor_data.format = ESP_BLE_MESH_SENSOR_DATA_FORMAT_A, - .sensor_data.length = 0, /* 0 represents the length is 1 */ - .sensor_data.raw_value = &sensor_data_1, + .descriptor = { + .positive_tolerance = SENSOR_POSITIVE_TOLERANCE, + .negative_tolerance = SENSOR_NEGATIVE_TOLERANCE, + .sampling_function = SENSOR_SAMPLE_FUNCTION, + .measure_period = SENSOR_MEASURE_PERIOD, + .update_interval = SENSOR_UPDATE_INTERVAL, + }, + .sensor_data = { + .format = ESP_BLE_MESH_SENSOR_DATA_FORMAT_A, + .length = 0, /* 0 represents the length is 1 */ + .raw_value = &sensor_data_1, + }, }, }; /* 20 octets is large enough to hold two Sensor Descriptor state values. */ ESP_BLE_MESH_MODEL_PUB_DEFINE(sensor_pub, 20, ROLE_NODE); static esp_ble_mesh_sensor_srv_t sensor_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + }, .state_count = ARRAY_SIZE(sensor_states), .states = sensor_states, }; ESP_BLE_MESH_MODEL_PUB_DEFINE(sensor_setup_pub, 20, ROLE_NODE); static esp_ble_mesh_sensor_setup_srv_t sensor_setup_server = { - .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, - .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .rsp_ctrl = { + .get_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + .set_auto_rsp = ESP_BLE_MESH_SERVER_RSP_BY_APP, + }, .state_count = ARRAY_SIZE(sensor_states), .states = sensor_states, }; @@ -139,8 +151,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t composition = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; static esp_ble_mesh_prov_t provision = { @@ -243,7 +255,7 @@ static void example_ble_mesh_send_sensor_descriptor_status(esp_ble_mesh_sensor_s esp_err_t err; int i; - status = calloc(1, ARRAY_SIZE(sensor_states) * ESP_BLE_MESH_SENSOR_DESCRIPTOR_LEN); + status = (uint8_t *)calloc(1, ARRAY_SIZE(sensor_states) * ESP_BLE_MESH_SENSOR_DESCRIPTOR_LEN); if (!status) { ESP_LOGE(TAG, "No memory for sensor descriptor status!"); return; @@ -426,7 +438,7 @@ static void example_ble_mesh_send_sensor_status(esp_ble_mesh_sensor_server_cb_pa } } - status = calloc(1, buf_size); + status = (uint8_t *)calloc(1, buf_size); if (!status) { ESP_LOGE(TAG, "No memory for sensor status!"); return; @@ -484,7 +496,7 @@ static void example_ble_mesh_send_sensor_column_status(esp_ble_mesh_sensor_serve length = ESP_BLE_MESH_SENSOR_PROPERTY_ID_LEN +param->value.get.sensor_column.raw_value_x->len; - status = calloc(1, length); + status = (uint8_t *)calloc(1, length); if (!status) { ESP_LOGE(TAG, "No memory for sensor column status!"); return; @@ -598,7 +610,7 @@ static esp_err_t ble_mesh_init(void) return err; } - err = esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_node_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to enable mesh node"); return err; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_client/main/board.h b/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_client/main/board.h index 3b96149465..dd65092fe6 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_client/main/board.h +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_client/main/board.h @@ -9,6 +9,14 @@ #ifndef _BOARD_H_ #define _BOARD_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + void board_init(void); +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + #endif /* _BOARD_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_client/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_client/main/main.c index 2d8168b28c..bf8cb0fbc5 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_client/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_client/main/main.c @@ -68,7 +68,10 @@ static struct esp_ble_mesh_key { } prov_key; static esp_ble_mesh_cfg_srv_t config_server = { + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), .relay = ESP_BLE_MESH_RELAY_DISABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_DISABLED, #if defined(CONFIG_BLE_MESH_FRIEND) .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, @@ -76,9 +79,6 @@ static esp_ble_mesh_cfg_srv_t config_server = { .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; static esp_ble_mesh_client_t config_client; @@ -113,8 +113,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t composition = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; static esp_ble_mesh_prov_t provision = { @@ -216,10 +216,10 @@ static void recv_unprov_adv_pkt(uint8_t dev_uuid[ESP_BLE_MESH_OCTET16_LEN], uint ESP_LOGI(TAG, "oob info 0x%04x, bearer %s", oob_info, (bearer & ESP_BLE_MESH_PROV_ADV) ? "PB-ADV" : "PB-GATT"); memcpy(add_dev.addr, addr, BD_ADDR_LEN); - add_dev.addr_type = (uint8_t)addr_type; + add_dev.addr_type = (esp_ble_mesh_addr_type_t)addr_type; memcpy(add_dev.uuid, dev_uuid, ESP_BLE_MESH_OCTET16_LEN); add_dev.oob_info = oob_info; - add_dev.bearer = (uint8_t)bearer; + add_dev.bearer = (esp_ble_mesh_prov_bearer_t)bearer; /* Note: If unprovisioned device adv packets have not been received, we should not add device with ADD_DEV_START_PROV_NOW_FLAG set. */ err = esp_ble_mesh_provisioner_add_unprov_dev(&add_dev, @@ -539,7 +539,7 @@ static esp_err_t ble_mesh_init(void) return err; } - err = esp_ble_mesh_provisioner_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_provisioner_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to enable mesh provisioner"); return err; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_server/main/board.h b/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_server/main/board.h index fd25352275..9de9461d2e 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_server/main/board.h +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_server/main/board.h @@ -9,6 +9,10 @@ #ifndef _BOARD_H_ #define _BOARD_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + #include "driver/gpio.h" #if defined(CONFIG_BLE_MESH_ESP_WROOM_32) @@ -43,4 +47,8 @@ void board_led_operation(uint8_t pin, uint8_t onoff); void board_init(void); -#endif +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + +#endif /* _BOARD_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_server/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_server/main/main.c index 0fe6dce4f6..8db7b877dd 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_server/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_vendor_model/vendor_server/main/main.c @@ -37,22 +37,22 @@ static uint8_t dev_uuid[ESP_BLE_MESH_OCTET16_LEN] = { 0x32, 0x10 }; static esp_ble_mesh_cfg_srv_t config_server = { - .relay = ESP_BLE_MESH_RELAY_ENABLED, + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), + .relay = ESP_BLE_MESH_RELAY_DISABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_ENABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; static esp_ble_mesh_model_t root_models[] = { @@ -75,8 +75,8 @@ static esp_ble_mesh_elem_t elements[] = { static esp_ble_mesh_comp_t composition = { .cid = CID_ESP, - .elements = elements, .element_count = ARRAY_SIZE(elements), + .elements = elements, }; static esp_ble_mesh_prov_t provision = { @@ -192,7 +192,7 @@ static esp_err_t ble_mesh_init(void) return err; } - err = esp_ble_mesh_node_prov_enable(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT); + err = esp_ble_mesh_node_prov_enable((esp_ble_mesh_prov_bearer_t)(ESP_BLE_MESH_PROV_ADV | ESP_BLE_MESH_PROV_GATT)); if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to enable mesh node"); return err; diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/main/main.c b/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/main/main.c index e9111da85f..93ee1c1adc 100644 --- a/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/main/main.c +++ b/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/main/main.c @@ -66,22 +66,22 @@ esp_ble_mesh_client_t config_client; /* Configuration Server Model user_data */ esp_ble_mesh_cfg_srv_t config_server = { + /* 3 transmissions with 20ms interval */ + .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), .relay = ESP_BLE_MESH_RELAY_ENABLED, + .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), .beacon = ESP_BLE_MESH_BEACON_DISABLED, -#if defined(CONFIG_BLE_MESH_FRIEND) - .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, -#else - .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, -#endif #if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER) .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED, #else .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED, +#endif +#if defined(CONFIG_BLE_MESH_FRIEND) + .friend_state = ESP_BLE_MESH_FRIEND_ENABLED, +#else + .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED, #endif .default_ttl = 7, - /* 3 transmissions with 20ms interval */ - .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20), - .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20), }; /* Fast Prov Client Model user_data */ @@ -95,6 +95,7 @@ example_fast_prov_server_t fast_prov_server = { .primary_role = false, .max_node_num = 6, .prov_node_cnt = 0x0, + .app_idx = ESP_BLE_MESH_KEY_UNUSED, .unicast_min = ESP_BLE_MESH_ADDR_UNASSIGNED, .unicast_max = ESP_BLE_MESH_ADDR_UNASSIGNED, .unicast_cur = ESP_BLE_MESH_ADDR_UNASSIGNED, @@ -102,7 +103,6 @@ example_fast_prov_server_t fast_prov_server = { .flags = 0x0, .iv_index = 0x0, .net_idx = ESP_BLE_MESH_KEY_UNUSED, - .app_idx = ESP_BLE_MESH_KEY_UNUSED, .group_addr = ESP_BLE_MESH_ADDR_UNASSIGNED, .prim_prov_addr = ESP_BLE_MESH_ADDR_UNASSIGNED, .match_len = 0x0, @@ -311,9 +311,9 @@ static void example_recv_unprov_adv_pkt(uint8_t dev_uuid[16], uint8_t addr[BLE_M } } - add_dev.addr_type = (uint8_t)addr_type; + add_dev.addr_type = (esp_ble_mesh_addr_type_t)addr_type; add_dev.oob_info = oob_info; - add_dev.bearer = (uint8_t)bearer; + add_dev.bearer = (esp_ble_mesh_prov_bearer_t)bearer; memcpy(add_dev.uuid, dev_uuid, 16); memcpy(add_dev.addr, addr, BLE_MESH_ADDR_LEN); flag = ADD_DEV_RM_AFTER_PROV_FLAG | ADD_DEV_START_PROV_NOW_FLAG | ADD_DEV_FLUSHABLE_DEV_FLAG; @@ -454,8 +454,8 @@ static void example_ble_mesh_custom_model_cb(esp_ble_mesh_model_cb_event_t event case ESP_BLE_MESH_VND_MODEL_OP_FAST_PROV_NODE_GROUP_DELETE: { ESP_LOGI(TAG, "%s: Fast prov server receives msg, opcode 0x%04x", __func__, opcode); struct net_buf_simple buf = { - .len = param->model_operation.length, .data = param->model_operation.msg, + .len = param->model_operation.length, }; err = example_fast_prov_server_recv_msg(param->model_operation.model, param->model_operation.ctx, &buf); diff --git a/examples/bluetooth/esp_ble_mesh/common_components/example_init/ble_mesh_example_init.h b/examples/bluetooth/esp_ble_mesh/common_components/example_init/ble_mesh_example_init.h index a0f2229cd4..952227c5bb 100644 --- a/examples/bluetooth/esp_ble_mesh/common_components/example_init/ble_mesh_example_init.h +++ b/examples/bluetooth/esp_ble_mesh/common_components/example_init/ble_mesh_example_init.h @@ -9,10 +9,18 @@ #ifndef _BLE_MESH_EXAMPLE_INIT_H_ #define _BLE_MESH_EXAMPLE_INIT_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + #include "esp_err.h" void ble_mesh_get_dev_uuid(uint8_t *dev_uuid); esp_err_t bluetooth_init(void); +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + #endif /* _BLE_MESH_EXAMPLE_INIT_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/common_components/example_nvs/ble_mesh_example_nvs.h b/examples/bluetooth/esp_ble_mesh/common_components/example_nvs/ble_mesh_example_nvs.h index f833f644cf..a1ab3880da 100644 --- a/examples/bluetooth/esp_ble_mesh/common_components/example_nvs/ble_mesh_example_nvs.h +++ b/examples/bluetooth/esp_ble_mesh/common_components/example_nvs/ble_mesh_example_nvs.h @@ -9,6 +9,10 @@ #ifndef _BLE_MESH_EXAMPLE_NVS_H_ #define _BLE_MESH_EXAMPLE_NVS_H_ +#ifdef __cplusplus +extern "C" { +#endif /**< __cplusplus */ + #include #include "esp_err.h" #include "nvs_flash.h" @@ -23,4 +27,8 @@ esp_err_t ble_mesh_nvs_restore(nvs_handle_t handle, const char *key, void *data, esp_err_t ble_mesh_nvs_erase(nvs_handle_t handle, const char *key); +#ifdef __cplusplus +} +#endif /**< __cplusplus */ + #endif /* _BLE_MESH_EXAMPLE_NVS_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_client_model.h b/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_client_model.h index f4ab640fb5..f2fb67ad7b 100644 --- a/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_client_model.h +++ b/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_client_model.h @@ -15,6 +15,10 @@ #ifndef _BLE_MESH_FAST_PROV_CLIENT_MODEL_H_ #define _BLE_MESH_FAST_PROV_CLIENT_MODEL_H_ +#ifdef __cplusplus +extern "C" { +#endif + #include "esp_ble_mesh_defs.h" enum { @@ -33,4 +37,8 @@ esp_err_t example_fast_prov_client_recv_status(esp_ble_mesh_model_t *model, esp_ble_mesh_msg_ctx_t *ctx, uint16_t len, const uint8_t *data); +#ifdef __cplusplus +} +#endif + #endif /* _BLE_MESH_FAST_PROV_CLIENT_MODEL_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_common.h b/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_common.h index c65ee41902..26bbac8963 100644 --- a/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_common.h +++ b/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_common.h @@ -15,6 +15,10 @@ #ifndef _BLE_MESH_FAST_PROV_COMMON_H_ #define _BLE_MESH_FAST_PROV_COMMON_H_ +#ifdef __cplusplus +extern "C" { +#endif + #include "esp_ble_mesh_defs.h" #include "esp_ble_mesh_config_model_api.h" @@ -117,4 +121,8 @@ typedef struct { uint8_t status_act; /* Indicate the result of action */ } example_fast_prov_net_key_status_t; +#ifdef __cplusplus +} +#endif + #endif /* _BLE_MESH_FAST_PROV_COMMON_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_operation.h b/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_operation.h index 60122b5d51..34d8842d95 100644 --- a/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_operation.h +++ b/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_operation.h @@ -15,6 +15,10 @@ #ifndef _BLE_MESH_FAST_PROV_OPERATION_H_ #define _BLE_MESH_FAST_PROV_OPERATION_H_ +#ifdef __cplusplus +extern "C" { +#endif + #include "ble_mesh_fast_prov_common.h" esp_err_t example_store_node_info(const uint8_t uuid[16], uint16_t node_addr, @@ -66,4 +70,8 @@ esp_err_t example_send_fast_prov_status_msg(esp_ble_mesh_model_t *model, esp_ble_mesh_msg_ctx_t *ctx, uint32_t opcode, struct net_buf_simple *msg); +#ifdef __cplusplus +} +#endif + #endif /* _BLE_MESH_FAST_PROV_OPERATION_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_server_model.h b/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_server_model.h index 2aeba7061c..fb684b6477 100644 --- a/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_server_model.h +++ b/examples/bluetooth/esp_ble_mesh/common_components/fast_provisioning/ble_mesh_fast_prov_server_model.h @@ -15,6 +15,10 @@ #ifndef _BLE_MESH_FAST_PROV_SERVER_MODEL_H_ #define _BLE_MESH_FAST_PROV_SERVER_MODEL_H_ +#ifdef __cplusplus +extern "C" { +#endif + #include "ble_mesh_fast_prov_common.h" #define DISABLE_FAST_PROV_TIMEOUT K_SECONDS(10) @@ -99,4 +103,8 @@ esp_err_t example_handle_fast_prov_status_send_comp_evt(int err_code, uint32_t o esp_err_t example_fast_prov_server_init(esp_ble_mesh_model_t *model); +#ifdef __cplusplus +} +#endif + #endif /* _BLE_MESH_FAST_PROV_SERVER_MODEL_H_ */