Commit Graph

726 Commits

Author SHA1 Message Date
Jiang Jiang Jian
6595d5392e Merge branch 'bugfix/btdm_alarm_free' into 'master'
component/bt: free timer resources after using them

See merge request idf/esp-idf!1863
2018-02-01 11:01:08 +08:00
Jiang Jiang Jian
0f7d9cf7d3 Merge branch 'bugfix/btdm_a2dp_task_stack_size' into 'master'
component/bt: make A2DP source and sink task size configurable through menuconfig

See merge request idf/esp-idf!1825
2018-02-01 10:58:40 +08:00
zhiweijian
e64d78dc57 Component/bt: fix stop adv failed in smp 2018-01-31 16:06:22 +08:00
zhiweijian
b06ea40f66 Component/bt: modify set mtu call handler 2018-01-31 11:28:05 +08:00
wangmengyang
00db39ee1b component/bt: make A2DP source and sink task size configurable through menuconfig
1. use different set of parameters for A2DP source/sink tasks
2. make the task stack size configurable through menuconfig
2018-01-30 14:26:53 +08:00
yulong
06dcca0fcd component/bt: Fixed the bug of ble multi connection not stable issue. 2018-01-29 14:27:03 +08:00
wangmengyang
90c9ffa975 component/bt: free timer resources after using them
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.
2018-01-27 19:03:06 +08:00
Jiang Jiang Jian
daa8cfa800 Merge branch 'bugfix/btdm_fix_stop_adv_no_callback_when_adv_has_been_stoped' into 'master'
Component/bt: fix stop adv no callback when adv has already stoped

See merge request !1838
2018-01-26 20:37:12 +08:00
zhiweijian
41f338d23c Component/bt: fix bt load boned in smp 2018-01-26 14:38:54 +08:00
Jiang Jiang Jian
5b1f869880 Merge branch 'feature/btdm_bluedroid_env_dynomic_malloc_enable' into 'master'
This MR added the bluedroid env  variable can dynamic malloc and BT variable use psram malloc supported

See merge request !1698
2018-01-26 10:06:43 +08:00
zhiweijian
d54e188e61 Component/bt: fix stop adv no callback when adv has been stoped 2018-01-25 15:31:17 +08:00
Jiang Jiang Jian
b98da5da97 Merge branch 'bugfix/btdm_classicbt_pscan_assert' into 'master'
component/bt : fix the bug of pscan when interrupt react slowly

See merge request !1816
2018-01-25 13:52:00 +08:00
Jiang Jiang Jian
62fade9970 Merge branch 'bugfix/btdm_fix_bonded_device_list_error_after_reboot' into 'master'
component/bt: fix bonded device list error after reboot

See merge request !1750
2018-01-25 12:05:58 +08:00
Yulong
63e5cbbd66 component/bt: Added the bluedroid environment variable dynomic malloc support & support to malloc the memory to the psram.
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.
2018-01-24 15:18:02 +08:00
Jiang Jiang Jian
84b92a4ead Merge branch 'feature/btdm_add_get_error_enent_for_blufi' into 'master'
component/bt: add  error report event for blufi

See merge request !1702
2018-01-22 19:48:29 +08:00
zhiweijian
1861d6e137 Component/bt: fix bonded device list error after reboot 2018-01-17 19:54:49 +08:00
Tian Hao
b617118df3 component/bt : fix the bug of pscan when interrupt react slowly 2018-01-17 11:48:23 +08:00
Jiang Jiang Jian
f0ed404448 Merge branch 'bugfix/btdm_pair_fail_with_random_address' into 'master'
component/bt: Fix bug when pair with random address

See merge request !1784
2018-01-16 18:17:45 +08:00
zhiweijian
cf91ad32dc Component/bt: add get error event for blufi 2018-01-16 17:29:48 +08:00
Jiang Jiang Jian
f2e51bc08a Merge branch 'bugfix/btdm_discon_when_upd_conn_params_in_smp' into 'master'
component/bt: fix disconnect after connection params update in smp

See merge request !1804
2018-01-16 16:41:18 +08:00
Jiang Jiang Jian
ee0af80843 Merge branch 'bugfix/btdm_fix_conn_params_update_failed_in_SMP' into 'master'
component/bt: fix conn params update failed in smp

See merge request !1796
2018-01-16 16:38:22 +08:00
baohongde
088dc40e48 component/bt: Fix bug when pair with random address 2018-01-16 08:35:26 +00:00
zhiweijian
4d2c3edc07 Component/bt: add get wifi list cmd for blufi 2018-01-15 12:16:19 +00:00
Jiang Jiang Jian
cd54a95a7f Merge branch 'feature/btdm_a2dp_src' into 'master'
Feature/btdm a2dp src

See merge request !1190
2018-01-15 18:55:01 +08:00
zhiweijian
0891ec35c7 component/bt: fix disconnect after connection params update in smp 2018-01-15 17:03:56 +08:00
zhiweijian
f165927272 Component/bt: fix update connection params error in smp 2018-01-15 15:38:08 +08:00
wangmengyang
f360fe5b3e component/bt: implement A2DP source
1. Modified symbol names of A2DP sink APIs include:
- esp_a2d_data_cb_t --> esp_a2d_sink_data_cb_t
- esp_a2d_register_data_callback --> esp_a2d_sink_register_data_callback
2018-01-09 20:20:52 +08:00
Jiang Jiang Jian
3452845063 Merge branch 'bugfix/btdm_avrc_connect_state_evt' into 'master'
Bugfix/btdm avrc connect state evt

See merge request !1717
2018-01-09 19:33:06 +08:00
Jiang Jiang Jian
6daa52d2ca Merge branch 'bugfix/update_bt_lib_with_updated_toolchain_for_master' into 'master'
component/bt: build libbtdm_app.a with updated toolchain

See merge request !1728
2018-01-09 16:55:45 +08:00
wangmengyang
e07b43e924 component/bt: add AVRC event for remote features indication
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
2018-01-09 16:33:48 +08:00
Jiang Jiang Jian
ff726b4c79 Merge branch 'bugfix/btdm_fix_cant_remove_boned_device_if_its_connected' into 'master'
Component/bt: fix can not remove boned device if it is connected

See merge request !1758
2018-01-09 11:42:45 +08:00
Jiang Jiang Jian
c147d7b03e Merge branch 'feature/btdm_bt_spp' into 'master'
component/bt: Add bt spp profile

See merge request !1593
2018-01-09 10:44:46 +08:00
Jiang Jiang Jian
0cd97cecb2 Merge branch 'bugfix/btdm_error_when_add_device_to_whitelist_twice' into 'master'
component/bt: Fix bug when add device to whitelist twice

See merge request !1700
2018-01-08 19:16:34 +08:00
zhiweijian
831b2c0441 Component/bt: fix can not remove boned device if it is connected 2018-01-08 17:55:00 +08:00
Angus Gratton
f9ad17eee4 Merge branch 'bugfix/BLE_SM_Security_Flags_pr1320' into 'master'
bt: Fix ble sm security flags (Github PR 1320)

See merge request !1740
2018-01-08 07:35:19 +08:00
Jiang Jiang Jian
a1b59679f9 Merge branch 'bugfix/btdm_standardize_code' into 'master'
component/bt: Standardize code

See merge request !1696
2018-01-05 18:56:08 +08:00
baohongde
d2663c866e component/bt: Add SPP profile 2018-01-05 16:48:29 +08:00
Tim Cook
2b24177d2b n btm_sec_save_le_key() set BTM_SEC_LE_LINK_KEY_KNOWN (and BTM_SEC_LE_LINK_KEY_AUTHED if MITM was used) when process a local Long Term Key (key type BTM_LE_KEY_LENC). This is because these flags share bits with the BTM_SEC_FLAG_LKEY_KNOWN (and BTM_SEC_FLAG_LKEY_AUTHED) flag in btm_api.h. Without this code a link that is encrypted via SM pairing where only the local device exchanges the LTK (peer does not send its LTK) will not allow GATT operations that require encryption (request will be incorrectly rejected with insufficient authentication reason, regardless of if MITM is required).
Merges https://github.com/espressif/esp-idf/pull/1320
2018-01-03 14:14:24 +11:00
Tim Cook
5b87177831 set ble_rsp_key member of structure bte_appl_cfg in function bta_dm_co_ble_set_rsp_key_req (function incorrectly uses ble_init_key member).
Merges https://github.com/espressif/esp-idf/pull/1320
2018-01-03 14:14:24 +11:00
baohongde
2530e0aeb9 component/bt: Standardize code
Reported from github:
https://github.com/espressif/esp-idf/issues/1402
https://github.com/espressif/esp-idf/issues/1403
2018-01-03 10:31:30 +08:00
baohongde
e55b5433aa component/bt: Fix bug when add device to whitelist twice 2018-01-02 17:20:34 +08:00
wangmengyang
ba06683834 component/bt: build libbtdm_app.a with updated toolchain 2017-12-29 15:31:11 +08:00
wangmengyang
1bbd67f7d7 component/bt: disable Secure Connections(Host Supported) of classic Bluetooth to workaround AES encryption issue in controller
1. ESP32 is found to suffer from AES encryption start/resume failure with specific device. Therefore temporarily disable BR/EDR Secure Connections for a workaround
2. BR/EDR Secure Connections is a feature for BT Classic introduced in Bluetooth 4.1. This change disables the setting of Secure Connections(Host Supported), and will result in the use of legacy authentication instead of secure authentication, and E0 encryption(legacy) instead of AES-CCM encryption. BLE security procedures are not affected.
2017-12-28 14:51:19 +08:00
Jiang Jiang Jian
7d0d2854d3 Merge branch 'bugfix/btdm_error_when_white_list_is_full' into 'master'
component/bt: Fix bug of adding device to white list has no callback when while list is full

See merge request !1689
2017-12-27 18:03:38 +08:00
Jiang Jiang Jian
566fab02df Merge branch 'bugfix/btdm_disconnect_fail_during_pairing' into 'master'
component/bt: Fix bug of disconnected fail during pairing

See merge request !1672
2017-12-27 18:03:13 +08:00
Jiang Jiang Jian
d31b654f3f Merge branch 'bugfix/btdm_fix_memory_leak_for_SMP' into 'master'
component/bt: fix memory leak in SMP

See merge request !1690
2017-12-27 11:43:18 +08:00
baohongde
1de63e9d90 component/bt: Fix bug of disconnected fail during pairing 2017-12-25 19:24:06 +08:00
baohongde
f5f8dda8a2 component/bt: Fix bug of adding device to white list has no callback when while list is full 2017-12-25 17:45:12 +08:00
Jiang Jiang Jian
a567de1576 Merge branch 'feature/btdm_classic_discovery' into 'master'
component/bt: implement Classic Bluetooth GAP APIs for device and service discovery

See merge request !1576
2017-12-20 13:30:31 +08:00
zhiweijian
763406b4cc Component/bt: fix memory leak in SMP 2017-12-20 10:30:31 +08:00
Jiang Jiang Jian
04e1195f41 Merge branch 'bugfix/btdm_send_data_length_req_after_read_feature_complete' into 'master'
component/bt: send data length request by host after read feature complete

See merge request !1639
2017-12-19 20:18:50 +08:00
Jiang Jiang Jian
9c2db2ea7a Merge branch 'bugfix/btdm_optimiz_adv_cb_func' into 'master'
Bugfix/btdm optimiz adv cb func

See merge request !1619
2017-12-19 17:35:00 +08:00
Yulong
967ff895e7 component/bt: Optimized broadcast callback function, send the callback function to the application after the controller confirms receipt of the broadcast start.
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.
2017-12-15 18:16:23 +08:00
Tian Hao
65bdb2d7ff component/bt : fix btdm mem release cause 0x3ffbbb28-0x3ffbdb28 add to region but should not.
1. fix the bug. Modify the condition that esp_bt_controller_mem_release() shoud be only called before esp_bt_controller_init() or after esp_bt_controller_deinit()
2. modify the example to use esp_bt_controller_mem_release()
2017-12-13 11:38:39 +08:00
zhiweijian
6b6e0410f8 Component/bt: send data length request by host after read feature complete 2017-12-12 18:28:59 +08:00
Tian Hao
583dceb69b component/btdm : change bt.h name to esp_bt.h to form the name prefix 2017-12-08 10:33:50 +08:00
wangmengyang
c23af0b5bb component/bt: implement Classic Bluetooth GAP APIs for device and service discovery 2017-12-06 10:52:06 +08:00
Jiang Jiang Jian
c44487143d Merge branch 'bugfix/btdm_connect_stable_optimiz' into 'master'
component/bt: Optimiz the ble connection performance.

See merge request !1618
2017-12-01 21:35:17 +08:00
Ivan Grokhotkov
08048ff76a Merge branch 'feature/btdm_avrc_metadata' into 'master'
Feature/btdm avrc metadata:  implemented AVRCP metadata and notification register commands

See merge request !1624
2017-12-01 20:31:25 +08:00
yulong
96f120c0d4 component/bt: Optimiz the ble connection performance. 2017-12-01 20:02:14 +08:00
Jiang Jiang Jian
7702e0f45b Merge branch 'bugfix/btdm_con_discon_test_crash_#16055' into 'master'
component/bt: Fix the bug when write ccc sometimes will lead to repeatedly release the memory.

See merge request !1599
2017-12-01 19:32:39 +08:00
pufstudio
86fa1820b7 component/bt: Add AVRCP medadata attribute support so A2DP can show track title, album, etc.
Merges https://github.com/espressif/esp-idf/pull/1078
2017-12-01 19:28:52 +08:00
Jiang Jiang Jian
015233d2dc Merge branch 'bugfix/btdm_mem_leak_lead_to_WDT_#16592' into 'master'
compoent/bt: Fix the bug when do the BLE pressure test will lead to memory leak will appear WDT.

See merge request !1610
2017-12-01 12:24:04 +08:00
yulong
a0992ad442 component/bt: Remove the p_tle->param reset to 0 when free the p_timer_param pointer. 2017-11-30 16:15:22 +08:00
Yulong
5b243b1d01 component/bt: Added the mutex lock protect the ccc free when disconnect. 2017-11-30 02:45:26 -05:00
yulong
7353307ca5 component/bt: reset the p_cmd_list pointer after release the mem. 2017-11-29 10:50:03 +08:00
Tian Hao
59931cd63b component/bt : fix actvie scan cannot send scan_req in a certain case 2017-11-28 20:11:40 +08:00
yulong
5b9131cc60 compoent/bt: Fix the bug when do the BLE pressure test will lead to memory leak will appear WDT. 2017-11-28 15:43:33 +08:00
Jiang Jiang Jian
7980255498 Merge branch 'bugfix/btdm_scan_lead_to_conn_error' into 'master'
component/bt: Fixed the bug when stop scan if not set back the scan params will …

See merge request !1590
2017-11-27 21:21:13 +08:00
Yulong
c71318ce88 component/bt: Fix the bug when write ccc sometimes will lead to repeatedly release the memory. 2017-11-25 05:06:14 -05:00
Yulong
177c92f15e component/bt: Change the code format. 2017-11-23 06:42:04 -05:00
Yulong
2458d15d2d component/bt: recovery the scan parameter to the controller before start scan. 2017-11-23 06:36:00 -05:00
Yulong
f14699068d component/bt: Fixed the bug when stop scan if not set back the scan params will lead to connection request sent the empty packet to the peer device. 2017-11-23 03:54:29 -05:00
Yulong
729e0c2544 component/bt: Correct the SP_BLE_PWR_TYPE_CONN_HDL0-9 comment in the bt.h file to ESP_BLE_PWR_TYPE_CONN_HDL0-8 2017-11-20 08:05:35 -05:00
island
7bd8133639 component/bt: delete api bta_gattc_cache_write 2017-11-16 16:40:18 +08:00
island
5789a8a6e9 component/bt: delete gattc cache write operation 2017-11-16 11:18:17 +08:00
Jiang Jiang Jian
ec9d93f4fc Merge branch 'bugfix/btdm_gattc_command_queue_fix' into 'master'
Bugfix/btdm gattc command queue fix

See merge request !1317
2017-11-15 10:54:02 +08:00
Jiang Jiang Jian
41272c5b94 Merge branch 'bugfix/btdm_modify_logs' into 'master'
component/bt: modify some log

See merge request !1485
2017-11-14 21:13:00 +08:00
Jiang Jiang Jian
a2194ec665 Merge branch 'bugfix/btdm_remove_redundant_open_evt_for_same_app' into 'master'
component/bt: remove redundant open evt while calling gattc_open twice in the same app_id

See merge request !1526
2017-11-14 21:12:05 +08:00
Yulong
b07a5f03cf component/bt: Change the gattc prepare write callback params. 2017-11-14 07:00:45 -05:00
island
2a4af8b83c component/bt: remove redundant open evt while calling gattc_open twice in the same app_id 2017-11-14 17:11:34 +08:00
Yulong
1d13b58c62 component/bt: Added the queue event when the gattc command is full. 2017-11-13 22:44:27 -05:00
island
38b287593c component/bt: fix not send indication confirm in case of server only 2017-11-14 11:43:57 +08:00
Yulong
2be5e73090 rebase the origin to the local 2017-11-13 02:20:02 -05:00
Yulong
8352eb6fa2 component/bt: Added the prepare write check. 2017-11-13 02:12:33 -05:00
wangmengyang
53273172fe component/bt: modify the implementation and interface of osi_alarm module
1. use esp_timer instead of FreeRTOS timer to implement osi_alarm in bluedroid
2. Remove two APIs: osi_alarm_now() and osi_alarm_time_diff() and modify the hci layer logic that use them
3. Implement osi_alarm_get_remaining_ms()
4. Move the definition of struct alarm_t in source file "alarm.c"
5. Add definition of module error code
2017-11-10 11:53:55 +08:00
Yulong
ee43527108 compoent/bt: Modify bta_gattc_utils.c The value pointer copy is overwritten when a write event occurs. 2017-11-09 14:47:11 +08:00
Yulong
e6b2c19eea component/bt: Fix the write value not store in the queue command bug. 2017-11-09 14:47:11 +08:00
Yulong
68833fe94c component/bt: Change the bta_gattc_pop_command_to_send function to static. 2017-11-09 14:47:11 +08:00
Yulong
0ae5320f50 component/bt: Added the gattc command queue support. 2017-11-09 14:47:11 +08:00
Yulong
7a27e3c74d component/bt: added the queue to store the gattc commands. 2017-11-09 14:47:11 +08:00
Yulong
1ceef12238 compoent/bt: Modify bta_gattc_utils.c The value pointer copy is overwritten when a write event occurs. 2017-11-09 01:44:16 -05:00
Yulong
8ca40818eb component/bt: Fix the write value not store in the queue command bug. 2017-11-08 04:23:12 -05:00
wangmengyang
016a49f8e3 component/bt: update toolchain and add compile options to build libbtdm_app.a to support PSRAM 2017-11-07 16:08:47 +08:00
Jiang Jiang Jian
b13cd4adf8 Merge branch 'feature/btdm_add_value_callback_when_send_notification_or_indicate_failed' into 'master'
component/bt: add value callback when send notification or indicate failed

See merge request !1457
2017-11-03 10:05:29 +08:00
zhiweijian
9a96187655 Component/bt: modify some log 2017-11-02 19:45:13 +08:00
Jiang Jiang Jian
1de3fc4a2c Merge branch 'bugfix/btdm_master_dont_send_pair_req_#13686' into 'master'
component/bt: Fix the bug of master don't send pair request to the slave when the sec_act set to the value of ESP_BLE_SEC_ENCRYPT.

See merge request !1376
2017-11-02 15:49:27 +08:00
wangmengyang
bd6394db92 component/bt: clean up WIFI_CLK_EN_REG settings for Bluetooth
1. move settings of WIFI_CLK_EN_REG for bluetooth into controller init/deinit APIs
2. modify the bit mask used in phy_rf init/deinit to use WIFI-BT shared bits
2017-11-02 15:24:21 +08:00
zhiweijian
e7020460c6 Component/bt: add value callback when send notification or indicate failed 2017-11-01 11:00:08 +08:00
zhiweijian
481e436587 Component/bt: modify close event and disconnection event params
- modify close event params
- modify disconnection event params
- modify connect event params
2017-11-01 10:40:03 +08:00