Commit graph

188 commits

Author SHA1 Message Date
baohongde 11ca056320 component/bt: Fix bug of remove bond device fail when BLE and BT are connectd at the same time 2018-07-16 15:46:27 +08:00
Jiang Jiang Jian 8571170abe Merge branch 'feature/btdm_bt_ssp' into 'master'
component/bt: Add Secure Simple Pairing

See merge request idf/esp-idf!2453
2018-07-13 19:19:53 +08:00
baohongde 21af1d7339 component/bt: Add Secure Simple Pairing 2018-07-10 11:18:52 +08:00
Le-Andrew a8da9c1b96 Fixed typos on booleans.
Merges https://github.com/espressif/esp-idf/pull/2067
2018-07-09 14:36:06 +08:00
wangmengyang 0ede362f84 component/bt: bugfix of invalid SCO handle in HCI number_of_completed_packets event 2018-07-05 12:00:41 +08:00
Jiang Jiang Jian 0e4b28e893 Merge branch 'bugfix/btdm_fix_stop_adv_error_in_dual_core' into 'master'
component/bt: fix stop adv error in dual core

See merge request idf/esp-idf!2561
2018-06-29 15:06:49 +08:00
zwj 077380a352 component/bt: fix no adv packets 2018-06-28 17:49:41 +08:00
Tian Hao e3d3ed5a06 bt : fix read rssi conflict when in dual mode 2018-06-22 11:16:16 +08:00
zwj c9aac643e3 component/bt: fix stop adv error in dual core 2018-06-15 20:43:10 +08:00
zhiweijian c8e848b0ff Component/bt: fix start adv 2018-05-30 17:10:51 +08:00
zhiweijian 2e63a445d9 Component/bt: fix set scan params command completer error 2018-05-23 12:09:39 +00:00
zhiweijian 340ad5c430 Component/bt: fix scan duplicate 2018-05-21 15:23:15 +08:00
wangmengyang 4c4e143a2f component/bt: implement HFP Hands Free Unit Role 2018-05-21 11:33:30 +08:00
Jiang Jiang Jian 993b8b7bf6 Merge branch 'bugfix/o3_fails' into 'master'
Fix compilation errors when -O3 is used

See merge request idf/esp-idf!2396
2018-05-17 16:48:13 +08:00
Jiang Jiang Jian f502e195aa Merge branch 'bugfix/improve_bt_debug' into 'master'
components/bt: Improve the Bluetooth debug messaging scheme

See merge request idf/esp-idf!2303
2018-05-16 16:04:34 +08:00
Hrishikesh Dhayagude da6cb6c741 components/bt: Improve the Bluetooth debug messaging scheme
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>
2018-05-14 20:45:05 +08:00
Roland Dobai ca08397b6b Fix compilation errors when -O3 is used
Closes https://github.com/espressif/esp-idf/issues/718
2018-05-14 12:29:57 +02:00
zhiweijian 58b2cb3e0c Component/bt: update con params is rejected in smp when reconnection 2018-05-09 20:28:13 +08:00
Jiang Jiang Jian ade78d3850 Merge branch 'bugfix/btdm_fix_version_excahnge_issue' into 'master'
Component/bt: fix version exchange issue

See merge request idf/esp-idf!2329
2018-05-04 19:30:03 +08:00
zhiweijian 5549ea3439 Component/bt: fix version exchange issue
- Android 7.0 version issue
- version exchange late in some phones
- can not get version in smp
2018-04-28 16:32:24 +08:00
Hrishikesh Dhayagude fd7baaf4ba components/bt: Make modifications to the support of GAP appearance/icon
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>
2018-04-28 13:59:36 +05:30
Tian Hao adada3f67e component/bt : modify header files to avoid conflict
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
2018-04-26 19:32:06 +08:00
Jiang Jiang Jian 12dbe4dac5 Merge branch 'feature/btdm_add_set_local_icon_api' into 'master'
Component/bt: add set gap icon API

See merge request idf/esp-idf!2129
2018-04-11 20:48:13 +08:00
Jiang Jiang Jian 6b7ad6b707 Merge branch 'bugfix/btdm_do_not_update_conn_params_when_have_key_in_slave' into 'master'
Component/bt: do not update connection params when already have keys in slave

See merge request idf/esp-idf!2176
2018-04-11 20:47:27 +08:00
Roland Dobai 744c2dcdd9 Resolve problems found by enabling -Wwrite-strings compilation flag 2018-04-10 08:53:43 +02:00
Jiang Jiang Jian 393f3da37c Merge branch 'feature/btdm_add_get_local_used_addr_API' into 'master'
Component/bt: add esp_ble_gap_get_local_used_addr() API

See merge request idf/esp-idf!2137
2018-04-02 22:28:00 +08:00
zhiweijian a6c79cfe0f Component/bt: do not update connection params when already have keys in slave 2018-04-02 19:44:09 +08:00
zhiweijian 99872beb6a Component/bt: add set gap icon API 2018-03-30 09:21:53 +00:00
Jiang Jiang Jian e6d6deebc7 Merge branch 'bugfix/btdm_fix_connect_fail_when_remote_addr_is_random' into 'master'
Component/bt: modify open API params

See merge request idf/esp-idf!2116
2018-03-30 17:00:19 +08:00
zhiweijian e6262375a3 Component/bt: fix connect fail when remote addr type is random 2018-03-29 20:55:31 +08:00
zhiweijian aa236809ad Component/bt: fix no set rand add callback event 2018-03-29 20:17:14 +08:00
zhiweijian 8a78860b16 Component/bt: add esp_ble_gap_get_local_used_addr() API 2018-03-29 19:47:08 +08:00
zhiweijian 064c274bd6 Component/bt: fix build error when close SMP 2018-03-21 15:21:30 +08:00
Jiang Jiang Jian c45170cb66 Merge branch 'bugfix/btdm_fix_reconnect_fail_in_smp_v30' into 'release/v3.0'
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
2018-03-20 18:49:22 +08:00
Jiang Jiang Jian a54b413367 Merge branch 'bugfix/btdm_clear_start_stop_adv_callback_when_complete' into 'master'
Component/bt: clear start/stop adv callback when complete

See merge request idf/esp-idf!1938
2018-03-08 20:22:10 +08:00
baohongde 569b9d592e component/bt: remove some error logs which are not error 2018-03-05 19:22:21 +08:00
zhiweijian b5c2356528 Component/bt: clear start/stop adv callback when complete 2018-02-11 15:21:51 +08:00
Jiang Jiang Jian afe9a5d3ae Merge branch 'bugfix/btdm_fix_adv_pending_in_smp' into 'master'
Component/bt: fix stop adv failed in smp

See merge request idf/esp-idf!1881
2018-02-01 20:17:02 +08:00
zhiweijian e64d78dc57 Component/bt: fix stop adv failed in smp 2018-01-31 16:06:22 +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 d54e188e61 Component/bt: fix stop adv no callback when adv has been stoped 2018-01-25 15:31:17 +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
baohongde 088dc40e48 component/bt: Fix bug when pair with random address 2018-01-16 08:35:26 +00: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 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
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
baohongde e55b5433aa component/bt: Fix bug when add device to whitelist twice 2018-01-02 17:20:34 +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 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 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
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
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
zhiweijian 6b6e0410f8 Component/bt: send data length request by host after read feature complete 2017-12-12 18:28:59 +08: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
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
island 4e7de126dc component/bt: Fix scan problem of bonded device using public address 2017-10-25 11:52:03 +08:00
yulong a9a423a025 component/bt: Added the sec_act != BTM_BLE_SEC_ENCRYPT check in the btm_ble_set_encryption function when the sec_act is BTM_BLE_SEC_ENCRYPT_NO_MITM or BTM_BLE_SEC_ENCRYPT_MITM. 2017-10-23 15:12:36 +08:00
Yulong da32fbce7a component/bt: Fix the bug of can't pair if master send pair req but slave don't send sec req. 2017-10-23 15:12:36 +08:00
Jiang Jiang Jian 244e947beb Merge branch 'bugfix/btdm_fix_add_whitelist_failed' into 'master'
Component/bt: fix add whitelist failed

See merge request !1326
2017-10-12 19:01:01 +08:00
zhiweijian cd3d9715bb Component/bt: fix add whitelist failed
- fix add whitelist failed
- add add whitelist callback func
2017-10-11 15:30:09 +08:00
zhiweijian c75da555af Component/bt: fix set scan params and start scan action 2017-09-30 17:01:57 +08:00
Yulong 8925a90d40 squash again
squash the commit.
component/bt:Added the update_white_list & set_prefer_conn_params API to the bt project.

component/bt: Added the get white list size API & delete the read adv tx power API.

component/bt: Change the esp_gap_ble_api.h esp_ble_gap_set_prefer_conn_params API docs.

changed btm_find_dev to btm_find_or_alloc_dev

component/bt: Change the rssi API deep copy method.

component/bt: Change the code as comment in the gitlab.

squash the commit.
component/bt:Added the update_white_list & set_prefer_conn_params API to the bt project.

component/bt: Added the get white list size API & delete the read adv tx power API.

component/bt: Change the esp_gap_ble_api.h esp_ble_gap_set_prefer_conn_params API docs.

changed btm_find_dev to btm_find_or_alloc_dev

component/bt: Change the rssi API deep copy method.

component/bt: Change the code as comment in the gitlab.

component/bt: change the ESP_BLE_CONN_PARAM_UNDEF redefinition error.

component/bt: Change the ESP_BLE_IS_VALID_PARAM function with the compile error.
2017-09-18 05:39:26 -04:00
Yulong 875ba996d5 component/bt: fix the bug when close the SMP module in the menuconfig will lead to compile error. 2017-09-15 10:32:28 +08:00
Jiang Jiang Jian 574daad1c4 Merge branch 'feature/btdm_update_to_bluedroid7.1_l2cap' into 'master'
component/bt: Added the new feature of the l2cap layer from the bluedroid new version 7.1.1

See merge request !1087
2017-09-13 20:39:38 +08:00
Tian Hao 00a7cdbb0b component/bt : support adv & scan simultaneously
1. Occupy conn[9] for adv. The max connection number of bluetooth controller decrease to 9. (Previously, it is 10)
2. modify the enum of setting BLE TX power corresponding to connection's.
3. fix libbtdm_app.a cwitch jump table
2017-09-12 16:10:30 +08:00
Yulong 371c55138e component/bt: Added the new feature of the l2cap layer from the bluedroid new version 7.1.1 2017-09-06 04:25:57 -04:00
zhiweijian 1a9b02ccbc component/bt: fix connection parameters update
- update connection parameters timeout due to master update illegal connection parameters
- slave returns error status when slave check the connection parameters
- slave connection parameters update callback get that interval_max is equal to interval_min
2017-08-30 11:29:25 +08:00
Jiang Jiang Jian 258480822b Merge branch 'bugfix/btdm_config_local_privacy_func' into 'master'
component/bt: bugfix config local privacy

See merge request !1137
2017-08-24 10:48:57 +08:00
zhiweijian 19bf8cef1f Component/bt: bugifx config local privacy 2017-08-23 17:42:38 +08:00
Tian Hao e4f63819a1 component/bt : remove all GKI reference
1. remove GKI(not use osi_free_and_reset)
2. modify mutex/semaphore to individual directory
3. set osi_malloc as malloc(previously use calloc)
4. change osi allocator debug osi_free
5. fix rebase of remove GKI
2017-08-23 15:29:30 +08:00
zhiweijian fc05851b05 Component/bt: add set local privacy func callback 2017-07-26 17:29:10 +08:00
zhiweijian eec989f026 Component /bt: modify some log infor 2017-06-21 10:54:51 +08:00
Jiang Jiang Jian e045253883 Merge branch 'bugfix/btdm_conn_enhanecd_issue' into 'master'
component/bt: added the temp enhanced to solve the conn_interval not collect issues.

See merge request !881
2017-06-16 13:18:41 +08:00
Yulong 1739216787 component/bt: added the temp enhanced to solve the conn_interval not collect issues. 2017-06-15 10:15:49 -04:00
Jiang Jiang Jian fd12a6c706 Merge branch 'bugfix/btdm_add_set_pkt_data_length_evt_cback' into 'master'
component / bt: add set pkt data length event callback

See merge request !869
2017-06-15 19:51:22 +08:00
zhiweijian 58b65291d9 component / bt: add set pkt data length event callback 2017-06-15 16:02:03 +08:00
Jiang Jiang Jian ac5040a7c2 Merge branch 'bugfix/btdm_ll_get_remote_feature' into 'master'
component/bt: Fix can't get remote's feature bug

See merge request !871
2017-06-15 15:10:52 +08:00
Yulong 83b7144207 component/bt: Added the lmp_verion default value to 4.0. 2017-06-15 02:13:31 -04:00
island e2e5f4caae component/bt: Fix can't get remote's feature bug
- Slave send version_ind cause some Android 7.0 devices can't encrypt correctly
2017-06-14 21:56:59 +08:00
Yulong a03e5f95be component/bt: Added the judgment to check the address is public or not. 2017-06-14 09:01:29 -04:00
island c5debed621 component/bt: Fix bug while writing slave's service change characteristic
- Fix slave initiate service discovery procedure
- Fix master re-discovery every time connection established
- Optimize service discovery char ccc write procedure
- Optimize esp_log_buffer function
- Modify default supervision timeout from 20s to 2s
2017-06-14 13:12:38 +08:00
Jiang Jiang Jian 82b8b1db1f Merge branch 'bugfix/bt_ble_separation' into 'master'
component/bt: fix the build error when using classic BT, with GATTC, GATTS and SMP disabled

See merge request !822
2017-06-06 20:56:05 +08:00
wangmengyang ca4506fba9 component/bt: fix the build error when using classic BT, with GATTC, GATTS and SMP disabled 2017-06-05 21:01:58 +08:00
Yulong a42bf640bc component/bt: Change the duration type from UINT8 to UINT32 2017-06-03 01:00:10 -04:00
Jiang Jiang Jian b5e2bcbb2c Merge branch 'bugfix/ble_add_adv_state_bug_#12301' into 'master'
component/bt: Fix the bug that sometimes received a ble connection & the adv wil…

…l stop, can not send adv again.

See merge request !759
2017-05-18 15:03:41 +08:00
Yulong d13c083397 component/bt:fix the bug of uild error if switch off BLE GATTS. Bug number is #12659. 2017-05-17 07:17:22 -04:00
Yulong e797cd03f0 component/bt: Fix the bug that sometimes received a ble connection & the adv will stop, can not send adv again. 2017-05-16 03:10:16 -04:00
island da67773b02 component/bt: fix adv stop event bug and add attribute table create
error

- Fix bug that advertising stop event produced while calling start_adv function
- Modify gatt server adv data and scan rsp data raw setting
- add create attribute table error msg
- Delete redundant printf in previous commits
2017-05-08 15:44:36 +08:00
Yulong 834d980e39 compoent/bt:Fixed the BT/BLE statck bug from bluedroid7.1.1 2017-04-28 05:31:57 -04:00
Jiang Jiang Jian 0759897bfb Merge branch 'bugfix/btdm_gattc_adv_bug' into 'master'
component/bt: Fix memory leakage, connection fail bugs

- Fix memory leakage while deregisting gatt app
- Fix Android connection failed problem
- Fix service_uuid_len error in adv data

See merge request !706
2017-04-27 21:13:16 +08:00
Yulong c31953a005 component/bt:Fixted the bug of HCI comment timeout error.
1. remove the SMP_INCLUDED == TRUE insite the btm_find_dev_by_handle function.
2. change the Kconfig with BT_ACL_CONNECTIONS
2017-04-26 04:23:45 -04:00
island a3717515a2 component/bt: Fix memory leakage, connection fail bugs
- Fix memory leakage while deregisting gatt app
- Fix Android connection failed problem
- Fix service_uuid_len error in adv data
2017-04-26 16:07:56 +08:00
Yulong 5544f98add component/bt:separate the SMP, GATT module set the macro output the function.
1. close classic bt, can save 233k code size;
2. close smp module, can save 136k code size;
3. close gattc module, can save 24k code size;
4. close gatts module, can save 16k code size;
4. close the bluedroid stack log, can save 120k code size.
2017-04-25 04:55:29 -04:00
Yulong 45999b69d6 component/bt: Set the style to the same, output the macro in the function.
1.After the separate, can save 15k~25k ram & 240k~460k code size(depending on the menuconfig).
2017-04-24 23:46:37 -04:00
Yulong b5989a6b26 component/bt:Recovery the btm_establish_continue when created the acl connection 2017-04-21 02:43:35 -04:00