From 59540eeae12fd2dcbcc1ad6346d026c56fa12b34 Mon Sep 17 00:00:00 2001 From: wangmengyang Date: Wed, 11 Jan 2017 11:04:41 +0800 Subject: [PATCH 1/2] component/bt: bug fix of lack of checking bluetooth stack status inside API functions --- components/bt/bluedroid/api/esp_blufi_api.c | 16 ++++ components/bt/bluedroid/api/esp_bt_device.c | 4 + components/bt/bluedroid/api/esp_bt_main.c | 15 +++- components/bt/bluedroid/api/esp_gap_ble_api.c | 58 +++++++++++++-- components/bt/bluedroid/api/esp_gattc_api.c | 73 +++++++++++++++++++ components/bt/bluedroid/api/esp_gatts_api.c | 56 ++++++++++++++ .../bt/bluedroid/api/include/esp_bt_device.h | 2 +- .../bt/bluedroid/api/include/esp_bt_main.h | 17 +++++ components/bt/bluedroid/btc/core/btc_main.c | 4 +- docs/api/bt.rst | 1 - docs/api/esp_blufi.rst | 6 +- docs/api/esp_bt_main.rst | 3 + 12 files changed, 242 insertions(+), 13 deletions(-) diff --git a/components/bt/bluedroid/api/esp_blufi_api.c b/components/bt/bluedroid/api/esp_blufi_api.c index 094fbfae5..ac84ee3fc 100644 --- a/components/bt/bluedroid/api/esp_blufi_api.c +++ b/components/bt/bluedroid/api/esp_blufi_api.c @@ -24,6 +24,10 @@ esp_err_t esp_blufi_register_callbacks(esp_blufi_callbacks_t *callbacks) { + if (ESP_BLUEDROID_STATUS_UNINITIALIZED == esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + if (callbacks == NULL) { return ESP_FAIL; } @@ -37,6 +41,10 @@ esp_err_t esp_blufi_send_wifi_conn_report(wifi_mode_t opmode, esp_blufi_sta_conn btc_msg_t msg; btc_blufi_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_BLUFI; msg.act = BTC_BLUFI_ACT_SEND_CFG_REPORT; @@ -53,6 +61,10 @@ esp_err_t esp_blufi_profile_init(void) { btc_msg_t msg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_BLUFI; msg.act = BTC_BLUFI_ACT_INIT; @@ -64,6 +76,10 @@ esp_err_t esp_blufi_profile_deinit(void) { btc_msg_t msg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_BLUFI; msg.act = BTC_BLUFI_ACT_DEINIT; diff --git a/components/bt/bluedroid/api/esp_bt_device.c b/components/bt/bluedroid/api/esp_bt_device.c index 745e446c2..1eb48c98a 100644 --- a/components/bt/bluedroid/api/esp_bt_device.c +++ b/components/bt/bluedroid/api/esp_bt_device.c @@ -14,9 +14,13 @@ #include "esp_bt_device.h" +#include "esp_bt_main.h" #include "controller.h" const uint8_t *esp_bt_dev_get_address(void) { + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return NULL; + } return controller_get_interface()->get_address()->address; } diff --git a/components/bt/bluedroid/api/esp_bt_main.c b/components/bt/bluedroid/api/esp_bt_main.c index 2dd9166d2..3093b5640 100644 --- a/components/bt/bluedroid/api/esp_bt_main.c +++ b/components/bt/bluedroid/api/esp_bt_main.c @@ -21,6 +21,19 @@ static bool esp_already_enable = false; static bool esp_already_init = false; +esp_bluedroid_status_t esp_bluedroid_get_status(void) +{ + if (esp_already_init) { + if (esp_already_enable) { + return ESP_BLUEDROID_STATUS_ENABLED; + } else { + return ESP_BLUEDROID_STATUS_INITIALIZED; + } + } else { + return ESP_BLUEDROID_STATUS_UNINITIALIZED; + } +} + esp_err_t esp_bluedroid_enable(void) { btc_msg_t msg; @@ -114,7 +127,7 @@ esp_err_t esp_bluedroid_init(void) return ESP_FAIL; } - esp_already_init = true;; + esp_already_init = true; return ESP_OK; } diff --git a/components/bt/bluedroid/api/esp_gap_ble_api.c b/components/bt/bluedroid/api/esp_gap_ble_api.c index 6e18f6582..34914f8b4 100644 --- a/components/bt/bluedroid/api/esp_gap_ble_api.c +++ b/components/bt/bluedroid/api/esp_gap_ble_api.c @@ -14,6 +14,7 @@ #include +#include "esp_bt_main.h" #include "esp_gap_ble_api.h" #include "bta_api.h" #include "bt_trace.h" @@ -23,6 +24,9 @@ esp_err_t esp_ble_gap_register_callback(esp_gap_ble_cb_t callback) { + if (ESP_BLUEDROID_STATUS_UNINITIALIZED == esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } return (btc_profile_cb_set(BTC_PID_GAP_BLE, callback) == 0 ? ESP_OK : ESP_FAIL); } @@ -31,7 +35,11 @@ esp_err_t esp_ble_gap_config_adv_data(esp_ble_adv_data_t *adv_data) { btc_msg_t msg; btc_ble_gap_args_t arg; - + + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + if (adv_data == NULL) { return ESP_ERR_INVALID_ARG; } @@ -54,7 +62,11 @@ esp_err_t esp_ble_gap_set_scan_params(esp_ble_scan_params_t *scan_params) { btc_msg_t msg; btc_ble_gap_args_t arg; - + + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + if (scan_params == NULL) { return ESP_ERR_INVALID_ARG; } @@ -72,6 +84,10 @@ esp_err_t esp_ble_gap_start_scanning(uint32_t duration) btc_msg_t msg; btc_ble_gap_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GAP_BLE; msg.act = BTC_GAP_BLE_ACT_START_SCAN; @@ -84,7 +100,11 @@ esp_err_t esp_ble_gap_start_scanning(uint32_t duration) esp_err_t esp_ble_gap_stop_scanning(void) { btc_msg_t msg; - + + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GAP_BLE; msg.act = BTC_GAP_BLE_ACT_STOP_SCAN; @@ -96,6 +116,10 @@ esp_err_t esp_ble_gap_start_advertising(esp_ble_adv_params_t *adv_params) btc_msg_t msg; btc_ble_gap_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GAP_BLE; msg.act = BTC_GAP_BLE_ACT_START_ADV; @@ -108,6 +132,10 @@ esp_err_t esp_ble_gap_stop_advertising(void) { btc_msg_t msg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GAP_BLE; msg.act = BTC_GAP_BLE_ACT_STOP_ADV; @@ -121,6 +149,10 @@ esp_err_t esp_ble_gap_update_conn_params(esp_ble_conn_update_params_t *params) btc_msg_t msg; btc_ble_gap_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GAP_BLE; msg.act = BTC_GAP_BLE_ACT_UPDATE_CONN_PARAM; @@ -133,7 +165,11 @@ esp_err_t esp_ble_gap_set_pkt_data_len(esp_bd_addr_t remote_device, uint16_t tx_ { btc_msg_t msg; btc_ble_gap_args_t arg; - + + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GAP_BLE; msg.act = BTC_GAP_BLE_ACT_SET_PKT_DATA_LEN; @@ -148,7 +184,11 @@ esp_err_t esp_ble_gap_set_rand_addr(esp_bd_addr_t rand_addr) { btc_msg_t msg; btc_ble_gap_args_t arg; - + + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GAP_BLE; msg.act = BTC_GAP_BLE_ACT_SET_RAND_ADDRESS; @@ -163,6 +203,10 @@ esp_err_t esp_ble_gap_config_local_privacy (bool privacy_enable) btc_msg_t msg; btc_ble_gap_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GAP_BLE; msg.act = BTC_GAP_BLE_ACT_CONFIG_LOCAL_PRIVACY; @@ -176,6 +220,10 @@ esp_err_t esp_ble_gap_set_device_name(const char *name) btc_msg_t msg; btc_ble_gap_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + if (strlen(name) > ESP_GAP_DEVICE_NAME_MAX) { return ESP_ERR_INVALID_ARG; } diff --git a/components/bt/bluedroid/api/esp_gattc_api.c b/components/bt/bluedroid/api/esp_gattc_api.c index 28fc42957..4baa0a77f 100644 --- a/components/bt/bluedroid/api/esp_gattc_api.c +++ b/components/bt/bluedroid/api/esp_gattc_api.c @@ -15,12 +15,17 @@ #include #include "esp_gattc_api.h" +#include "esp_bt_main.h" #include "btc_manage.h" #include "btc_gattc.h" #include "btc_gatt_util.h" esp_err_t esp_ble_gattc_register_callback(esp_gattc_cb_t callback) { + if (ESP_BLUEDROID_STATUS_UNINITIALIZED == esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + if (callback == NULL) { return ESP_FAIL; } @@ -34,6 +39,10 @@ esp_err_t esp_ble_gattc_app_register(uint16_t app_id) btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + if (app_id > ESP_APP_ID_MAX) { return ESP_ERR_INVALID_ARG; } @@ -51,6 +60,10 @@ esp_err_t esp_ble_gattc_app_unregister(esp_gatt_if_t gattc_if) btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_APP_UNREGISTER; @@ -64,6 +77,10 @@ esp_err_t esp_ble_gattc_open(esp_gatt_if_t gattc_if, esp_bd_addr_t remote_bda, b btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_OPEN; @@ -79,6 +96,10 @@ esp_err_t esp_ble_gattc_close (esp_gatt_if_t gattc_if, uint16_t conn_id) btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_CLOSE; @@ -92,6 +113,10 @@ esp_err_t esp_ble_gattc_config_mtu (esp_gatt_if_t gattc_if, uint16_t conn_id, ui btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + if ((mtu < ESP_GATT_DEF_BLE_MTU_SIZE) || (mtu > ESP_GATT_MAX_MTU_SIZE)) { return ESP_GATT_ILLEGAL_PARAMETER; } @@ -110,6 +135,10 @@ esp_err_t esp_ble_gattc_search_service(esp_gatt_if_t gattc_if, uint16_t conn_id, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_SEARCH_SERVICE; @@ -133,6 +162,10 @@ esp_err_t esp_ble_gattc_get_characteristic(esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; if (start_char_id) { @@ -158,6 +191,10 @@ esp_err_t esp_ble_gattc_get_descriptor(esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; @@ -185,6 +222,10 @@ esp_err_t esp_ble_gattc_get_included_service(esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; @@ -211,6 +252,10 @@ esp_err_t esp_ble_gattc_read_char (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_READ_CHAR; @@ -232,6 +277,10 @@ esp_err_t esp_ble_gattc_read_char_descr (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_READ_CHAR_DESCR; @@ -256,6 +305,10 @@ esp_err_t esp_ble_gattc_write_char( esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_WRITE_CHAR; @@ -283,6 +336,10 @@ esp_err_t esp_ble_gattc_write_char_descr (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_WRITE_CHAR_DESCR; @@ -311,6 +368,10 @@ esp_err_t esp_ble_gattc_prepare_write(esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_PREPARE_WRITE; @@ -330,6 +391,10 @@ esp_err_t esp_ble_gattc_execute_write (esp_gatt_if_t gattc_if, uint16_t conn_id, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_EXECUTE_WRITE; @@ -347,6 +412,10 @@ esp_gatt_status_t esp_ble_gattc_register_for_notify (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_REG_FOR_NOTIFY; @@ -366,6 +435,10 @@ esp_gatt_status_t esp_ble_gattc_unregister_for_notify (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTC; msg.act = BTC_GATTC_ACT_UNREG_FOR_NOTIFY; diff --git a/components/bt/bluedroid/api/esp_gatts_api.c b/components/bt/bluedroid/api/esp_gatts_api.c index 2504e58f8..1f0d668e5 100644 --- a/components/bt/bluedroid/api/esp_gatts_api.c +++ b/components/bt/bluedroid/api/esp_gatts_api.c @@ -15,6 +15,7 @@ #include "string.h" #include "esp_gatt_defs.h" #include "esp_gatts_api.h" +#include "esp_bt_main.h" #include "btc_manage.h" #include "btc_gatts.h" #include "btc_gatt_util.h" @@ -23,6 +24,9 @@ esp_err_t esp_ble_gatts_register_callback(esp_gatts_cb_t callback) { + if (ESP_BLUEDROID_STATUS_UNINITIALIZED == esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } return (btc_profile_cb_set(BTC_PID_GATTS, callback) == 0 ? ESP_OK : ESP_FAIL); } @@ -31,6 +35,10 @@ esp_err_t esp_ble_gatts_app_register(uint16_t app_id) btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + //if (app_id < ESP_APP_ID_MIN || app_id > ESP_APP_ID_MAX) { if (app_id > ESP_APP_ID_MAX) { return ESP_ERR_INVALID_ARG; @@ -50,6 +58,10 @@ esp_err_t esp_ble_gatts_app_unregister(esp_gatt_if_t gatts_if) btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_APP_UNREGISTER; @@ -64,6 +76,10 @@ esp_err_t esp_ble_gatts_create_service(esp_gatt_if_t gatts_if, btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_CREATE_SERVICE; @@ -80,6 +96,10 @@ esp_err_t esp_ble_gatts_add_included_service(uint16_t service_handle, uint16_t i btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_ADD_INCLUDE_SERVICE; @@ -96,6 +116,10 @@ esp_err_t esp_ble_gatts_add_char(uint16_t service_handle, esp_bt_uuid_t *char_ btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_ADD_CHAR; @@ -115,6 +139,10 @@ esp_err_t esp_ble_gatts_add_char_descr (uint16_t service_handle, btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_ADD_CHAR_DESCR; @@ -130,6 +158,10 @@ esp_err_t esp_ble_gatts_delete_service(uint16_t service_handle) btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_DELETE_SERVICE; @@ -143,6 +175,10 @@ esp_err_t esp_ble_gatts_start_service(uint16_t service_handle) btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_START_SERVICE; @@ -156,6 +192,10 @@ esp_err_t esp_ble_gatts_stop_service(uint16_t service_handle) btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_STOP_SERVICE; @@ -171,6 +211,10 @@ esp_err_t esp_ble_gatts_send_indicate(esp_gatt_if_t gatts_if, uint16_t conn_id, btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_SEND_INDICATE; @@ -189,6 +233,10 @@ esp_err_t esp_ble_gatts_send_response(esp_gatt_if_t gatts_if, uint16_t conn_id, btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_SEND_RESPONSE; @@ -205,6 +253,10 @@ esp_err_t esp_ble_gatts_open(esp_gatt_if_t gatts_if, esp_bd_addr_t remote_bda, b btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_OPEN; @@ -220,6 +272,10 @@ esp_err_t esp_ble_gatts_close(esp_gatt_if_t gatts_if, uint16_t conn_id) btc_msg_t msg; btc_ble_gatts_args_t arg; + if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + return ESP_ERR_INVALID_STATE; + } + msg.sig = BTC_SIG_API_CALL; msg.pid = BTC_PID_GATTS; msg.act = BTC_GATTS_ACT_CLOSE; diff --git a/components/bt/bluedroid/api/include/esp_bt_device.h b/components/bt/bluedroid/api/include/esp_bt_device.h index 51c24f288..c84d042d6 100644 --- a/components/bt/bluedroid/api/include/esp_bt_device.h +++ b/components/bt/bluedroid/api/include/esp_bt_device.h @@ -26,7 +26,7 @@ extern "C" { * * @brief Get bluetooth device address. Must use after "esp_bluedroid_enable". * - * @return bluetooth device address (six bytes) + * @return bluetooth device address (six bytes), or NULL if bluetooth stack is not enabled */ const uint8_t *esp_bt_dev_get_address(void); diff --git a/components/bt/bluedroid/api/include/esp_bt_main.h b/components/bt/bluedroid/api/include/esp_bt_main.h index b24daf33c..fad010d2c 100644 --- a/components/bt/bluedroid/api/include/esp_bt_main.h +++ b/components/bt/bluedroid/api/include/esp_bt_main.h @@ -21,6 +21,23 @@ extern "C" { #endif +/** + * @brief Bluetooth stack status type, to indicate whether the bluetooth stack is ready + */ +typedef enum { + ESP_BLUEDROID_STATUS_UNINITIALIZED = 0, /*!< Bluetooth not initialized */ + ESP_BLUEDROID_STATUS_INITIALIZED, /*!< Bluetooth initialized but not enabled */ + ESP_BLUEDROID_STATUS_ENABLED /*!< Bluetooth initialized and enabled */ +} esp_bluedroid_status_t; + +/** + * @brief Get bluetooth stack status + * + * @return Bluetooth stack status + * + */ +esp_bluedroid_status_t esp_bluedroid_get_status(void); + /** * @brief Enable bluetooth, must after esp_bluedroid_init() * diff --git a/components/bt/bluedroid/btc/core/btc_main.c b/components/bt/bluedroid/btc/core/btc_main.c index 6fae3af43..323a81f75 100644 --- a/components/bt/bluedroid/btc/core/btc_main.c +++ b/components/bt/bluedroid/btc/core/btc_main.c @@ -42,14 +42,14 @@ static void btc_sec_callback(tBTA_DM_SEC_EVT event, tBTA_DM_SEC *p_data) static void btc_enable_bluetooth(void) { if (BTA_EnableBluetooth(btc_sec_callback) != BTA_SUCCESS) { - future_ready(*btc_main_get_future_p(BTC_MAIN_ENABLE_FUTURE), FUTURE_SUCCESS); + future_ready(*btc_main_get_future_p(BTC_MAIN_ENABLE_FUTURE), FUTURE_FAIL); } } static void btc_disable_bluetooth(void) { if (BTA_DisableBluetooth() != BTA_SUCCESS) { - future_ready(*btc_main_get_future_p(BTC_MAIN_DISABLE_FUTURE), FUTURE_SUCCESS); + future_ready(*btc_main_get_future_p(BTC_MAIN_DISABLE_FUTURE), FUTURE_FAIL); } } diff --git a/docs/api/bt.rst b/docs/api/bt.rst index 6a14d4068..2eae5dd4c 100644 --- a/docs/api/bt.rst +++ b/docs/api/bt.rst @@ -6,5 +6,4 @@ Bluetooth Bluetooth Controller && VHCI Bluetooth Common - Bluetooth Classic Bluetooth LE diff --git a/docs/api/esp_blufi.rst b/docs/api/esp_blufi.rst index f620edeb8..9dd808516 100644 --- a/docs/api/esp_blufi.rst +++ b/docs/api/esp_blufi.rst @@ -5,9 +5,9 @@ Overview -------- BLUFI is a profile based GATT to config ESP32 WIFI to connect/disconnect AP or setup a softap and etc. Use should concern these things: - 1. The event sent from profile. Then you need to do something as the event indicate. - 2. Security reference. You can write your own Security functions such as symmetrical encryption/decryption and checksum functions. - Even you can define the "Key Exchange/Negotiation" procedure. +1. The event sent from profile. Then you need to do something as the event indicate. +2. Security reference. You can write your own Security functions such as symmetrical encryption/decryption and checksum functions. +Even you can define the "Key Exchange/Negotiation" procedure. Application Example ------------------- diff --git a/docs/api/esp_bt_main.rst b/docs/api/esp_bt_main.rst index cc6e80b2e..48bb0c9cc 100644 --- a/docs/api/esp_bt_main.rst +++ b/docs/api/esp_bt_main.rst @@ -34,6 +34,8 @@ Type Definitions Enumerations ^^^^^^^^^^^^ +.. doxygenenum:: esp_bluedroid_status_t + Structures ^^^^^^^^^^ @@ -42,6 +44,7 @@ Structures Functions ^^^^^^^^^ +.. doxygenfunction:: esp_bluedroid_get_status .. doxygenfunction:: esp_bluedroid_enable .. doxygenfunction:: esp_bluedroid_disable .. doxygenfunction:: esp_bluedroid_init From c5927146791cd166edd86d8a4b30c78c14dc215c Mon Sep 17 00:00:00 2001 From: wangmengyang Date: Wed, 11 Jan 2017 13:36:48 +0800 Subject: [PATCH 2/2] component/bt: fix typos in "if" condition espressions --- components/bt/bluedroid/api/esp_blufi_api.c | 8 ++--- components/bt/bluedroid/api/esp_bt_device.c | 2 +- components/bt/bluedroid/api/esp_gap_ble_api.c | 30 ++++++++-------- components/bt/bluedroid/api/esp_gattc_api.c | 36 +++++++++---------- components/bt/bluedroid/api/esp_gatts_api.c | 28 +++++++-------- 5 files changed, 52 insertions(+), 52 deletions(-) diff --git a/components/bt/bluedroid/api/esp_blufi_api.c b/components/bt/bluedroid/api/esp_blufi_api.c index ac84ee3fc..70f5c9ce8 100644 --- a/components/bt/bluedroid/api/esp_blufi_api.c +++ b/components/bt/bluedroid/api/esp_blufi_api.c @@ -24,7 +24,7 @@ esp_err_t esp_blufi_register_callbacks(esp_blufi_callbacks_t *callbacks) { - if (ESP_BLUEDROID_STATUS_UNINITIALIZED == esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() == ESP_BLUEDROID_STATUS_UNINITIALIZED) { return ESP_ERR_INVALID_STATE; } @@ -41,7 +41,7 @@ esp_err_t esp_blufi_send_wifi_conn_report(wifi_mode_t opmode, esp_blufi_sta_conn btc_msg_t msg; btc_blufi_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -61,7 +61,7 @@ esp_err_t esp_blufi_profile_init(void) { btc_msg_t msg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -76,7 +76,7 @@ esp_err_t esp_blufi_profile_deinit(void) { btc_msg_t msg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } diff --git a/components/bt/bluedroid/api/esp_bt_device.c b/components/bt/bluedroid/api/esp_bt_device.c index 1eb48c98a..dffcbe80b 100644 --- a/components/bt/bluedroid/api/esp_bt_device.c +++ b/components/bt/bluedroid/api/esp_bt_device.c @@ -19,7 +19,7 @@ const uint8_t *esp_bt_dev_get_address(void) { - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return NULL; } return controller_get_interface()->get_address()->address; diff --git a/components/bt/bluedroid/api/esp_gap_ble_api.c b/components/bt/bluedroid/api/esp_gap_ble_api.c index 34914f8b4..f9401d8c4 100644 --- a/components/bt/bluedroid/api/esp_gap_ble_api.c +++ b/components/bt/bluedroid/api/esp_gap_ble_api.c @@ -24,7 +24,7 @@ esp_err_t esp_ble_gap_register_callback(esp_gap_ble_cb_t callback) { - if (ESP_BLUEDROID_STATUS_UNINITIALIZED == esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() == ESP_BLUEDROID_STATUS_UNINITIALIZED) { return ESP_ERR_INVALID_STATE; } return (btc_profile_cb_set(BTC_PID_GAP_BLE, callback) == 0 ? ESP_OK : ESP_FAIL); @@ -36,7 +36,7 @@ esp_err_t esp_ble_gap_config_adv_data(esp_ble_adv_data_t *adv_data) btc_msg_t msg; btc_ble_gap_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -63,7 +63,7 @@ esp_err_t esp_ble_gap_set_scan_params(esp_ble_scan_params_t *scan_params) btc_msg_t msg; btc_ble_gap_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -84,7 +84,7 @@ esp_err_t esp_ble_gap_start_scanning(uint32_t duration) btc_msg_t msg; btc_ble_gap_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -100,8 +100,8 @@ esp_err_t esp_ble_gap_start_scanning(uint32_t duration) esp_err_t esp_ble_gap_stop_scanning(void) { btc_msg_t msg; - - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -116,7 +116,7 @@ esp_err_t esp_ble_gap_start_advertising(esp_ble_adv_params_t *adv_params) btc_msg_t msg; btc_ble_gap_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -132,7 +132,7 @@ esp_err_t esp_ble_gap_stop_advertising(void) { btc_msg_t msg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -149,7 +149,7 @@ esp_err_t esp_ble_gap_update_conn_params(esp_ble_conn_update_params_t *params) btc_msg_t msg; btc_ble_gap_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -165,8 +165,8 @@ esp_err_t esp_ble_gap_set_pkt_data_len(esp_bd_addr_t remote_device, uint16_t tx_ { btc_msg_t msg; btc_ble_gap_args_t arg; - - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -184,8 +184,8 @@ esp_err_t esp_ble_gap_set_rand_addr(esp_bd_addr_t rand_addr) { btc_msg_t msg; btc_ble_gap_args_t arg; - - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -203,7 +203,7 @@ esp_err_t esp_ble_gap_config_local_privacy (bool privacy_enable) btc_msg_t msg; btc_ble_gap_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -220,7 +220,7 @@ esp_err_t esp_ble_gap_set_device_name(const char *name) btc_msg_t msg; btc_ble_gap_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } diff --git a/components/bt/bluedroid/api/esp_gattc_api.c b/components/bt/bluedroid/api/esp_gattc_api.c index 4baa0a77f..8b9cc99e8 100644 --- a/components/bt/bluedroid/api/esp_gattc_api.c +++ b/components/bt/bluedroid/api/esp_gattc_api.c @@ -22,7 +22,7 @@ esp_err_t esp_ble_gattc_register_callback(esp_gattc_cb_t callback) { - if (ESP_BLUEDROID_STATUS_UNINITIALIZED == esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() == ESP_BLUEDROID_STATUS_UNINITIALIZED) { return ESP_ERR_INVALID_STATE; } @@ -39,7 +39,7 @@ esp_err_t esp_ble_gattc_app_register(uint16_t app_id) btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -60,7 +60,7 @@ esp_err_t esp_ble_gattc_app_unregister(esp_gatt_if_t gattc_if) btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -77,7 +77,7 @@ esp_err_t esp_ble_gattc_open(esp_gatt_if_t gattc_if, esp_bd_addr_t remote_bda, b btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -96,7 +96,7 @@ esp_err_t esp_ble_gattc_close (esp_gatt_if_t gattc_if, uint16_t conn_id) btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -113,7 +113,7 @@ esp_err_t esp_ble_gattc_config_mtu (esp_gatt_if_t gattc_if, uint16_t conn_id, ui btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -135,7 +135,7 @@ esp_err_t esp_ble_gattc_search_service(esp_gatt_if_t gattc_if, uint16_t conn_id, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -162,7 +162,7 @@ esp_err_t esp_ble_gattc_get_characteristic(esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -191,7 +191,7 @@ esp_err_t esp_ble_gattc_get_descriptor(esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -222,7 +222,7 @@ esp_err_t esp_ble_gattc_get_included_service(esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -252,7 +252,7 @@ esp_err_t esp_ble_gattc_read_char (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -277,7 +277,7 @@ esp_err_t esp_ble_gattc_read_char_descr (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -305,7 +305,7 @@ esp_err_t esp_ble_gattc_write_char( esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -336,7 +336,7 @@ esp_err_t esp_ble_gattc_write_char_descr (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -368,7 +368,7 @@ esp_err_t esp_ble_gattc_prepare_write(esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -391,7 +391,7 @@ esp_err_t esp_ble_gattc_execute_write (esp_gatt_if_t gattc_if, uint16_t conn_id, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -412,7 +412,7 @@ esp_gatt_status_t esp_ble_gattc_register_for_notify (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -435,7 +435,7 @@ esp_gatt_status_t esp_ble_gattc_unregister_for_notify (esp_gatt_if_t gattc_if, btc_msg_t msg; btc_ble_gattc_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } diff --git a/components/bt/bluedroid/api/esp_gatts_api.c b/components/bt/bluedroid/api/esp_gatts_api.c index 1f0d668e5..71b5a4338 100644 --- a/components/bt/bluedroid/api/esp_gatts_api.c +++ b/components/bt/bluedroid/api/esp_gatts_api.c @@ -24,7 +24,7 @@ esp_err_t esp_ble_gatts_register_callback(esp_gatts_cb_t callback) { - if (ESP_BLUEDROID_STATUS_UNINITIALIZED == esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() == ESP_BLUEDROID_STATUS_UNINITIALIZED) { return ESP_ERR_INVALID_STATE; } return (btc_profile_cb_set(BTC_PID_GATTS, callback) == 0 ? ESP_OK : ESP_FAIL); @@ -35,7 +35,7 @@ esp_err_t esp_ble_gatts_app_register(uint16_t app_id) btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -58,7 +58,7 @@ esp_err_t esp_ble_gatts_app_unregister(esp_gatt_if_t gatts_if) btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -76,7 +76,7 @@ esp_err_t esp_ble_gatts_create_service(esp_gatt_if_t gatts_if, btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -96,7 +96,7 @@ esp_err_t esp_ble_gatts_add_included_service(uint16_t service_handle, uint16_t i btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -116,7 +116,7 @@ esp_err_t esp_ble_gatts_add_char(uint16_t service_handle, esp_bt_uuid_t *char_ btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -139,7 +139,7 @@ esp_err_t esp_ble_gatts_add_char_descr (uint16_t service_handle, btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -158,7 +158,7 @@ esp_err_t esp_ble_gatts_delete_service(uint16_t service_handle) btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -175,7 +175,7 @@ esp_err_t esp_ble_gatts_start_service(uint16_t service_handle) btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -192,7 +192,7 @@ esp_err_t esp_ble_gatts_stop_service(uint16_t service_handle) btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -211,7 +211,7 @@ esp_err_t esp_ble_gatts_send_indicate(esp_gatt_if_t gatts_if, uint16_t conn_id, btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -233,7 +233,7 @@ esp_err_t esp_ble_gatts_send_response(esp_gatt_if_t gatts_if, uint16_t conn_id, btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -253,7 +253,7 @@ esp_err_t esp_ble_gatts_open(esp_gatt_if_t gatts_if, esp_bd_addr_t remote_bda, b btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; } @@ -272,7 +272,7 @@ esp_err_t esp_ble_gatts_close(esp_gatt_if_t gatts_if, uint16_t conn_id) btc_msg_t msg; btc_ble_gatts_args_t arg; - if (ESP_BLUEDROID_STATUS_ENABLED != esp_bluedroid_get_status()) { + if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) { return ESP_ERR_INVALID_STATE; }