In opening state of AVDTP connection, if SDP client fails to get valid A2DP service record\
from peer SDP server, then do not initiate AVDTP connection request
In pevious implementation, A2DP sink will register an A2DP source Stream End Point(SEP) although the SEP is not\
supposed to be used. Now remove the unused SEP for source so that only one role of A2DP can be supported at one
time. Service record in local SDP server only includes at most one service for A2DP sink role or source
Multiple modules register their callback BTA_GATTS_AppRegister().
If any of the callbacks do not free the allocated pointer in
BTA_GATTS_CONF_EVT event, then this can result in memory leak.
So, free the pointer after the callback function is called and remove
the calls to free in the callback functions as it is now not required
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
1. esp_ble_remove_bond_device will only remove BLE bond key and disconnect BLE device.
2. esp_bt_gap_remove_bond_device will only remove BT bond key and disconnect BT device.
As of now, when Bluetooth debugs are enabled, all the messages are
mapped to BT_PRINTF which is mapped to ESP_LOGE. Hence, make monitor
shows all logs in red color which might lead to missing the actual
errors
This patch maps the Bluetooth messages to appropriate ESP_LOG* messages
and improves readability.
Also, make the BT trace level be configurable in menuconfig, so that
each layer of bt trace can be enabled/disabled.
Finally, add debug log control for BTC, OSI, BLUFI and clear up
Bluetooth debug logs.
So, with this the method of enabling Bluetooth logs is as follows:
1. make menuconfig -> Component config -> Bluetooth -> Bluedroid Enable
-> BT DEBUG LOG LEVEL -> set trace level for every layer of BT
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
characateristic
1. In addition to mentioning in the documentation, use the standard appearance
values already present and return appropriate error in case an incorrect
value is passed
2. Add ESP_BLE_APPEARANCE* macros corresponding to BTM_BLE_APPEARANCE*
and use them from the API instead
3. Add the missing appearance parameter values from
https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml
4. Fix some minor typos
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
1. Change all the hash used from the coap module to generated by the bluedroid module directly.
component/bt: Added the <string.h> include file to the gattc_co module to avoid compile error.
component/bt: optimiz the code
component/bt: optimiz the code.
component/bt: added the l2c change.
component/bt: Added the modified.
component/bt: change the indicate callback function.
component/bt: added the BLE throughput test gattc & gatts example.
component/bt: Change the sdkconfig.default CONFIG_GATTS_NOTIFY_THROUGHPUT setting.
component/bt: Change the throughput_client_task delay method.
component/bt: change the btu task size from 4096 to 5096
comonent/bt: close the print when congest.
component/bt: Added the CPU frequency set method to the readme file.
component/bt: Change the gatts_demo_char1_val to gl_profile_tab[PROFILE_A_APP_ID].char_handle to avoid make error.
example/ble_throughput: Added the Readme explanation.
component/bt: Added the bt lib change.
component/bt: Update the bt lib & Change the LOG level from ERROR to DEBUG when congest.
component/bt: Fixed the bug of timer start assign error.
component/bt: Change back the gattc & gatts demo with same as the master.
example/ble_throughput: Fixed the bug when prepare write of the ble throughput.
component/bt: Update the check_sum algorithm.
component/bt: Change Added the path when used the include file of "l2cdefs.h" & "l2c_api.h".
example/throughput_client: Added the Freertos related header files to ble throughput client demo to avoid compile error.
1. add the L1 include path with a prefix, such like osi/list.h, stack/a2d_api.h and etc.
2. modify component, only bluedroid/api/include/api is export to another component and application,
other include path just for bluedroid used
3. put bluedroid/include into common/include/common, so the root directory of bluedroid have no include path.
4. modify doxygen to use esp_bt.h and redirect to
component/bt/bluedroid/api/include/api/
fix compile
1. Change all the gattc API && bta gattc layer.
2. Debug the code and change the btc_ble_gattc_get_db method.
3. Change the gatt read API interface.
4. Reconstruction the BTA_gattc_cache code.
5. Change back the bluedroid_get_status to marco.
6. Change the gattc docs format.
7. Change the docs format.
8. fix the read char value bug.
9. change the gattc_get_attr_count method.
10. Change back the bta_gattc write ccc code.
11. Change the gattc api docs format
12. Change the gattc API docs.
13. Change the prepare write descriptor method to avoid the exection.
14. modify gatt clinet demo with new API
15. Change the p_src_data->read.p_value to avoid exection.
16. Change the bugfix of gattc unreg for the notify.
component/bt: Added the serch service res start_handle & end_handle to the result.
component/bt: Added the bta_gattc_cache_write when gatt discovery complete.
component/bt: Added the bta_gattc_cache_write declaration.
component/bt: Added the comments for esp_ble_gattc_cache_refresh API.
component/bt: Change the spelling errors & some comment error.
component/bt: fix bug of get gattc cache address list error.
1. Change the esp_bluedroid_get_status to macro;
2. added the malloc & free for the get_addr_list
component/bt: Added the addr_info->ass_addr == NULL Judgment to prevent crashes in the bta_gattc_co_cache_find_src_addr function.
component/bt: Fixed following gattc cache bugs
1. gattc can't refresh the gattc cache in the gatt discover state;
2. remove the nvs_get_blob in the cache address init function;
3. added the nvs_set_blob return value judgment in the cache address save function;
4. added the list_new when ass_address is NULL;
5. Change the ass_address list remove method to fix the ass address can't remove bug.
Component/bt: fix reconnect fail in smp for v3.0
See merge request idf/esp-idf!2075
(cherry picked from commit 7f2a9f0359)
d0e55335 Component/bt: fix reconnect fail in smp
Bluedroid use a set of timer function pairs such as btu_start_timer/btu_stop_timer, btu_sys_start_timer/btu_sys_stop_timer for use, in a lack of timer release functions. Thus the timers may be exhausted after some event sequence such as repetition of connection/reconnection with different devices. The maximum timer number used in bluedroid is given by ALARM_CBS_NUM which is 30 for now. This bugfix borrowed some update from bluedroid in Andoroid 7.0, which add timer release functions which promote the recycle of timer resources.
component/bt: Added the Macro for the classic BT support.
component/bt: added the bluedroid deinit method.
component/bt: allow more classic BT global variables to use dynamic allocation scheme
1. allocate memory for AVDT, AVCT control blocks when dynamic memory is used
2. allow SBC decoder buffer to use dynamic allocation scheme
component/bt: Remove the wrong changes in bt/Kconfig & Added the GATTS_INCLUDED in the gatt_free function when gatt service close.
component/bt: Shorten the abbreviation BT_ALLOCATION_FROM_SPIRAM_FIRST and BT_BLE_DYNAMIC_ENV_MEMORY two macros.
1. remove the feature mask parameter from AVRC connection state event, as the AVCTP connection can be initiated by remote device before service discovery to remote device is performed. \
In this case, AVRCP connection state event may not be reported after connection initated by remote device is established.
2. remove ESP_AVRC_CT_MAX_EVT
3. add more documentations to AVRC APIs
1. optimiz the ble stop adv callback function.
2. added the osi_mutex_unlock in the bta_gattc_wait4_service_change_ccc_cback function when the p_timer_param == NULL || p_conn == NULL.