Merge branch 'bugfix/fix_event_bug_in_GAP_API_release_v3.3' into 'release/v3.3'
Bugfix/fix event bug in GAP API [backport v3.3] See merge request espressif/esp-idf!9195
This commit is contained in:
commit
39e5184159
2 changed files with 16 additions and 10 deletions
|
@ -361,13 +361,15 @@ esp_err_t esp_bt_gap_register_callback(esp_bt_gap_cb_t callback);
|
||||||
esp_err_t esp_bt_gap_set_scan_mode(esp_bt_scan_mode_t mode);
|
esp_err_t esp_bt_gap_set_scan_mode(esp_bt_scan_mode_t mode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Start device discovery. This function should be called after esp_bluedroid_enable() completes successfully.
|
* @brief This function starts Inquiry and Name Discovery. It should be called after esp_bluedroid_enable() completes successfully.
|
||||||
* esp_bt_gap_cb_t will is called with ESP_BT_GAP_DISC_STATE_CHANGED_EVT if discovery is started or halted.
|
* When Inquiry is halted and cached results do not contain device name, then Name Discovery will connect to the peer target to get the device name.
|
||||||
* esp_bt_gap_cb_t will is called with ESP_BT_GAP_DISC_RES_EVT if discovery result is got.
|
* esp_bt_gap_cb_t will be called with ESP_BT_GAP_DISC_STATE_CHANGED_EVT when Inquriry is started or Name Discovery is completed.
|
||||||
|
* esp_bt_gap_cb_t will be called with ESP_BT_GAP_DISC_RES_EVT each time the two types of discovery results are got.
|
||||||
*
|
*
|
||||||
* @param[in] mode - inquiry mode
|
* @param[in] mode - Inquiry mode
|
||||||
* @param[in] inq_len - inquiry duration in 1.28 sec units, ranging from 0x01 to 0x30
|
* @param[in] inq_len - Inquiry duration in 1.28 sec units, ranging from 0x01 to 0x30. This parameter only specifies the total duration of the Inquiry process,
|
||||||
* @param[in] num_rsps - number of inquiry responses that can be received, value 0 indicates an unlimited number of responses
|
* - when this time expires, Inquiry will be halted.
|
||||||
|
* @param[in] num_rsps - Number of responses that can be received before the Inquiry is halted, value 0 indicates an unlimited number of responses.
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
* - ESP_OK : Succeed
|
* - ESP_OK : Succeed
|
||||||
|
@ -378,8 +380,9 @@ esp_err_t esp_bt_gap_set_scan_mode(esp_bt_scan_mode_t mode);
|
||||||
esp_err_t esp_bt_gap_start_discovery(esp_bt_inq_mode_t mode, uint8_t inq_len, uint8_t num_rsps);
|
esp_err_t esp_bt_gap_start_discovery(esp_bt_inq_mode_t mode, uint8_t inq_len, uint8_t num_rsps);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Cancel device discovery. This function should be called after esp_bluedroid_enable() completes successfully
|
* @brief Cancel Inquiry and Name Discovery. This function should be called after esp_bluedroid_enable() completes successfully.
|
||||||
* esp_bt_gap_cb_t will is called with ESP_BT_GAP_DISC_STATE_CHANGED_EVT if discovery is stopped.
|
* esp_bt_gap_cb_t will be called with ESP_BT_GAP_DISC_STATE_CHANGED_EVT if Inquiry or Name Discovery is cancelled by
|
||||||
|
* calling this function.
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
* - ESP_OK : Succeed
|
* - ESP_OK : Succeed
|
||||||
|
|
|
@ -830,11 +830,14 @@ void btc_gap_bt_busy_level_updated(uint8_t bl_flags)
|
||||||
param.disc_st_chg.state = ESP_BT_GAP_DISCOVERY_STARTED;
|
param.disc_st_chg.state = ESP_BT_GAP_DISCOVERY_STARTED;
|
||||||
btc_gap_bt_cb_to_app(ESP_BT_GAP_DISC_STATE_CHANGED_EVT, ¶m);
|
btc_gap_bt_cb_to_app(ESP_BT_GAP_DISC_STATE_CHANGED_EVT, ¶m);
|
||||||
btc_gap_bt_inquiry_in_progress = true;
|
btc_gap_bt_inquiry_in_progress = true;
|
||||||
} else if (bl_flags == BTM_BL_INQUIRY_CANCELLED ||
|
} else if (bl_flags == BTM_BL_INQUIRY_CANCELLED) {
|
||||||
bl_flags == BTM_BL_INQUIRY_COMPLETE) {
|
|
||||||
param.disc_st_chg.state = ESP_BT_GAP_DISCOVERY_STOPPED;
|
param.disc_st_chg.state = ESP_BT_GAP_DISCOVERY_STOPPED;
|
||||||
btc_gap_bt_cb_to_app(ESP_BT_GAP_DISC_STATE_CHANGED_EVT, ¶m);
|
btc_gap_bt_cb_to_app(ESP_BT_GAP_DISC_STATE_CHANGED_EVT, ¶m);
|
||||||
btc_gap_bt_inquiry_in_progress = false;
|
btc_gap_bt_inquiry_in_progress = false;
|
||||||
|
} else if (bl_flags == BTM_BL_INQUIRY_COMPLETE) {
|
||||||
|
/* The Inquiry Complete event is not transported to app layer,
|
||||||
|
since the app only cares about the Name Discovery Complete event */
|
||||||
|
btc_gap_bt_inquiry_in_progress = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue