Commit Graph

304 Commits

Author SHA1 Message Date
weitianhua
d2ddfa5183 Add A2DP Init and Deinit Complete Evt 2021-01-06 14:22:08 +08:00
weitianhua
f0206427b0 Rewrite av clean_up procedure 2021-01-06 14:21:54 +08:00
xutao
b94eec73fa support moving the a2dp_sink task stack to external memory 2020-08-25 10:55:38 +08:00
baohongde
03affa7058 component/bt: Add Wide Bond Speech(WBS) and packet loss concealment (PLC) for HFP 2020-07-21 11:44:48 +08:00
wangmengyang
2612854838 component/bt: implement AVRCP Target APIs
1. Add more notification events to the enum according to the event list in AVRCP specification.
2. Add API and callback events for basic AVRCP target functionalities to do init, deinit, callback-registration, connection status indication.
3. Implement API to set/get supported PASSTHROUGH command on local AVRCP TG, implement callback events for remote passthrough command indication.
6. Implement API to set/get supported notification eventIDs on local AVRCP TG, implement API to send event notifications to remote CT. \
   Currently supported event in TG only includes ESP_AVRC_RN_VOLUME_CHANGE(0xd), which can be extended in later commits.
7. Implement callback events for SetAbsoluteVolume command indication on TG.
8. Add limitation of event_ids supported in RegisterNotification command in CT. The supported event_ids include: \
   ESP_AVRC_RN_PLAY_STATUS_CHANGE(0x1), ESP_AVRC_RN_TRACK_CHANGE(0x2), ESP_AVRC_RN_PLAY_POS_CHANGE(0x5), ESP_AVRC_RN_VOLUME_CHANGE(0xd).
9. Add feature bit mask in parameter of callback event ESP_AVRC_CT_REMOTE_FEATURES_EVT for peer feature information got from SDP.
10. Add API and callback event to AVRCP CT to retrieve remote TG's supported notification event capabilities.
11. Modify data type for parameter of callback event ESP_AVRC_CT_CHANGE_NOTIFY_EVT.
12. Change AVRCP version from 1.3 to 1.4 for compatibility cause in using AbsoluteVolume feature.
13. Modify local AVRCP device to be category 1 as CT and category 2 as TG that applies to bluetooth headphones or speakers.
14. Update the use of AVRCP APIs and events in the two examples a2dp_sink a2dp_gatts_coex, which includes the demo of volume control and notification.
2020-07-21 11:44:36 +08:00
weitianhua
69aa2121cc Fix audio underrun issue with oppo x20 2020-07-20 17:10:06 +08:00
baohongde
be10cc6251 Revert "components/bt: Add API and EVT for set AFH channels(BR/EDR)"
This reverts commit 3b704d2f3a.
2020-01-14 16:05:36 +08:00
baohongde
3b704d2f3a components/bt: Add API and EVT for set AFH channels(BR/EDR) 2019-12-16 15:21:20 +08:00
Jiang Jiang Jian
51a49a861a Merge branch 'bugfix/btdm_assert_deinit_a2dp_while_playing_v3.3' into 'release/v3.3'
components/bt: Fix assert when deinit A2DP while playing music

See merge request espressif/esp-idf!6535
2019-11-14 20:12:31 +08:00
baohongde
c570e253fe components/bt: Fix assert when deinit A2DP while playing music 2019-10-29 20:04:15 +08:00
wangmengyang
3a5249aea9 bugfix that call of esp_a2d_media_ctrl(ESP_A2D_MEDIA_CTRL_SUSPEND) will not get an ACK from callback on A2DP sink 2019-10-29 10:14:19 +00:00
Prasad Alatkar
9c87165bc8 BT/Bluedroid : Add support to set min encryption key requirement (Backport v3.3)
- Backport(v3.3) of IDF MR!6122
- Modifies `smp_utils.c` to add check on encryption key size received from
  peer.
- Modifies `esp_ble_gap_set_security_param` API to add minimum encryption key
  size requirement.
2019-09-29 16:06:27 +08:00
wangmengyang
9e51598ee7 component/bt: fix some performance issues in A2DP source data flow control
1. modify the limit of frames to send to avoid dropping packet on A2DP source due to TX data queue overflow
2. reduce the A2DP source data queue size in order to achieve faster control respnonse
2019-09-20 11:52:46 +00:00
Jiang Jiang Jian
f60acb2196 Merge branch 'feature/btdm_add_ble_link_timeout_config_v3.3' into 'release/v3.3'
Component/bt: add ble link timeout config in menuconfig(backport v3.3)

See merge request idf/esp-idf!4825
2019-06-19 14:47:31 +08:00
baohongde
39dbe7daa8 components/bt: Fix abort if call esp_spp_deinit without calling esp_spp_init 2019-04-24 11:30:04 +08:00
zhiweijian
3295ed0995 Component/bt: add ble link timeout config in menuconfig
- add ble link timeout config in menuconfig
- disable background connection when call gatts_open
2019-04-22 21:49:59 +08:00
baohongde
dca83700f2 components/bt: Fix warning when disable debug logs or in release mode and improve the code structure 2019-03-26 14:46:36 +08:00
zhiweijian
7e1ccb56a7 Component/bt: fix blufi prepare write crash 2019-03-20 14:23:11 +08:00
zhiweijian
a1546e0714 Component/bt: add BLE adv report flow control 2019-03-13 14:58:32 +08:00
Hrishikesh Dhayagude
11a5fb8ab6 components/bt: Remove warnings in btc_gatts_arg_deep_copy() that are confusing
Fixes: https://github.com/espressif/esp-idf/issues/2811

The warning print "NULL value" is only kept for event
BTC_GATTS_ACT_SET_ATTR_VALUE as this can be useful in case user forgets
to set attribute value

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-12-20 14:20:56 +05:30
baohongde
d601ed8023 components/bt: Fix two bugs about pairing
1. Fix Legacy Pairing failed without remote device name
2. Fix discovery no device after disabling SSP
2018-12-20 11:10:52 +08:00
zhiweijian
dd3d89db49 Component/bt: add update duplicate scan exceptional list APIs 2018-11-23 16:46:17 +08:00
Jiang Jiang Jian
69c9e050b0 Merge branch 'bugfix/btdm_add_check_peer_addr_type_in_set_adv_params' into 'master'
Component/bt: add check peer addr type in set adv params

See merge request idf/esp-idf!3732
2018-11-20 20:02:13 +08:00
zhiweijian
3c7819eaf2 Component/bt: add check peer addr type in set adv params 2018-11-19 17:04:48 +08:00
baohongde
ac5a3443a4 components/bt: Some errors in comment 2018-11-16 11:27:22 +08:00
Jiang Jiang Jian
71f1a34540 Merge branch 'feature/btdm_support_oob_in_SMP' into 'master'
Component/bt: support OOB in SMP

See merge request idf/esp-idf!3496
2018-11-08 16:44:15 +08:00
Hrishikesh Dhayagude
2c353edbc4 components/bt: Fix btc_gatts_arg_deep_copy() and bta_gatts_indicate_handle() 2018-11-06 21:01:54 +08:00
Jiang Jiang Jian
ded53bd0ff Merge branch 'bugfix/btdm_allow_a2dp_codec_dynamic_alloc' into 'master'
bugfix/btdm_allow_a2dp_codec_dynamic_allocated

See merge request idf/esp-idf!3598
2018-11-06 11:56:30 +08:00
Jiang Jiang Jian
a60a71ff07 Merge branch 'bugfix/btdm_name_buffer_allocation_size_differs' into 'master'
components/bt: Fix the different size of name buffer allocation size

See merge request idf/esp-idf!3587
2018-11-01 15:56:45 +08:00
wangmengyang
7bb83b0056 component/bt: allow dynamic allocation of SBC encoder/decoder buffer used in A2DP to save internal DRAM 2018-10-31 16:11:49 +00:00
baohongde
e19a352a2b components/bt: Fix the different size of name buffer allocation size
Close https://github.com/espressif/esp-idf/issues/2615
2018-10-31 17:39:31 +08:00
Jiang Jiang Jian
39c03558e8 Merge branch 'bugfix/btdm_add_attr_handle_for_ESP_GATTS_CONF_EVT' into 'master'
Component/bt: add attr_handle for ESP_GATTS_CONF_EVT

See merge request idf/esp-idf!3492
2018-10-31 17:20:47 +08:00
zhiweijian
4e81705ca2 Component/bt: support OOB in SMP 2018-10-25 07:09:59 +00:00
zhiweijian
44827bb681 Component/bt: add attr_handle for ESP_GATTS_CONF_EVT 2018-10-19 08:19:36 +00:00
baohongde
a6d054b079 components/bt: Add sniff mode to SPP
In idle state for a while, SPP will enter sniff mode.
2018-10-12 11:22:28 +08:00
Jiang Jiang Jian
d6bc6fad8b Merge branch 'bugfix/btdm_add_ESP_BLE_SM_ONLY_ACCEPT_SPECIFIED_SEC_AUTH_in_set_security_param_API' into 'master'
Component/bt: add only accept sepecified authentication function for SMP

See merge request idf/esp-idf!3385
2018-09-30 14:18:23 +08:00
zhiweijian
3050e55801 Component/bt: add only accept sepecified Authentication 2018-09-29 21:23:55 +08:00
zhiweijian
e6d737780a Component/bt: add “service from” param for ESP_GATTC_SEARCH_CMPL_EVT 2018-09-28 12:59:01 +00:00
zhiweijian
9fb188a1d9 Component/bt: add gatts send service change indication API 2018-09-25 08:26:55 +00:00
Jiang Jiang Jian
ffbe5b7ae5 Merge branch 'bugfix/btdm_fix_iphoneX_error_when_get_wifi_list' into 'master'
Component/bt: fix iPhoneX error when getting wifi list

See merge request idf/esp-idf!3303
2018-09-20 10:54:43 +08:00
zhiweijian
fdc352d090 Component/bt: fix iPhoneX error when getting wifi list 2018-09-19 15:17:57 +08:00
zwj
fa00e6d4f7 component/bt: add clear rand address API 2018-09-17 20:09:03 +08:00
Tian Hao
b9382b29fa fix TX power value in ble adv data is incorrect
refence to https://github.com/espressif/esp-idf/issues/2284
Before fixing, the tx power in adv data is always 0xeb(-21dbm).

restriction:
    If change BLE advertising TX power, please call esp_ble_gap_config_adv_data()
    after BLE adv TX power changed.

    Later, will implement set BLE advertising TX power via HCI, then the
    TX power value in adv data can be update automatically after BLE adv
    TX power changed.
2018-09-12 20:23:45 +08:00
Jiang Jiang Jian
36337da8b2 Merge branch 'bugfix/btdm_a2dp_role_mixed_up' into 'master'
component/bt: bugfix that A2DP sink device can be connected by another A2DP sink device

See merge request idf/esp-idf!3191
2018-09-12 16:44:53 +08:00
wangmengyang
36a8cd1bf5 component/bt: stop to inititate AVRC connection when A2DP connection fails to set up
AVRCP connection binds to A2DP in current implementation, despite the two profiles are\
independent according to specification. AVRCP connection is not necessary to set-up \
if A2DP connection fails to establish
2018-09-10 03:35:58 +00:00
wangmengyang
e9e3bc492b component/bt: bugfix that A2DP sink device can be connected by another A2DP sink device
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
2018-09-10 03:35:58 +00:00
zhiweijian
d12982dc6e Component/bt: add set default passkey function 2018-09-07 10:55:44 +08:00
baohongde
bd8b9960d5 component/bt: Add Legacy Pairing 2018-09-04 21:11:03 +08:00
Jiang Jiang Jian
f5b699cee7 Merge branch 'bugfix/btdm_a2dp_sink_pcm_buf_size' into 'master'
bugfix/btdm_a2dp_sink_pcm_buffer_size

See merge request idf/esp-idf!3052
2018-08-28 10:42:36 +08:00
wangmengyang
3faee500bb component/bt: bugfix for incorrect computation of PCM data buffer size in A2DP sink 2018-08-27 02:53:59 +00:00