Commit Graph
95 Commits
Author SHA1 Message Date
Jin Cheng a2034f258d fix(bt/controller): fixed missing critical protections on linked-list structure of (e)SCO buffers 2025-01-13 14:58:51 +08:00
Jin Cheng 8328cf3dc3 fix(bt/bluedroid): fixed access NULL in HFP callback handler 2024-12-05 13:21:31 +08:00
Jin Cheng c38203e56e feat(bt/bluedroid): added events to indicate the profile states of HFP 2024-11-25 10:22:55 +08:00
Jin Cheng b3f7427b1c fix(bt/bluedroid): disconnect SDP connection on receiving incorrect response 2024-11-25 10:20:04 +08:00
Jin Cheng 22074ee144 fix(bt/controller): Fixed some controller bugs on ESP32
- Fixed wrong logic in handling sniff transaction collision at slave
      side
    - Fixed the issue ACL is stopped too early before eSCO
2024-11-22 12:25:00 +08:00
Jin Cheng 9f809e11de fix(bt/bluedroid): AG should send OK or other error codes to HF client
when it is driven by HF to initiate a call.
2024-11-22 12:25:00 +08:00
Jin Cheng c28dfe28e9 fix(bt/bluedroid): fixed AG and HF client cannot enter/exit sniff mode 2024-10-28 10:40:46 +08:00
Jin Cheng fe85ffa673 Revert "Disable sniff mode during (e)SCO connection."
This reverts commit 39a5eb84f3.
2024-10-28 10:40:46 +08:00
Jin Cheng cfd077d403 fix(bt/controller): Fixed some controller bugs on ESP32
- Fixed access NULL in SCO frame end
      Closes https://jira.espressif.com:8443/browse/IDFGH-10796
    - Added LAP checking for Periodic Inquiry
    - Removed an inproper assertion in SCO module
    - Fixed wrong logic in key exchange when
      LMP transaction collision occurred
    - Fixed the using of wrong error code in
      the transaction collision of role switch
2024-10-28 10:37:32 +08:00
Jin Cheng 3d8d2929a5 fix(bt/controller): Removed an improper assertion in ACL link driver
It can be triggered on peripheral SNIFF mode
when RX window is adjusted on ESP32.
2024-07-15 15:31:24 +08:00
Jin Cheng bcb8df2a0e fix(bt/controller): Parse out the correct packet types from Host parameters
- For HCI command HCI_Enhanced_Setup_Synchronous_Connection
2024-05-14 11:54:01 +08:00
Jin Cheng 89dbe5f6dc fix(bt/bluedroid): allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is wnabled 2024-04-24 08:25:24 +08:00
Jin Cheng 2377b40784 fix(bt/controller): Use embedded assembly to get access to DPORT registers 2024-04-16 11:32:09 +08:00
Jin Cheng 7c15d88e75 change(bt/bluedroid): Use BTC util to convert HCI status to ESP status 2024-03-28 10:18:11 +08:00
Jin Cheng 85403d2e5e feat(bt/bluedroid): Moved the memory allocation of HF AG control blocks to BTC module 2024-03-14 10:52:27 +08:00
Jin Cheng e852e0a106 fix(bt/controller): Fixed 3 esp32 bt controller bugs
update esp32 bt-lib (952debf4)

1. Increased the length of queue for coexist requestions
2. fix(bt/controller): Cleared BT SNIFF when no connections exists
3. fix(bt/controller): Corrected a typo in coex module
2024-03-07 12:30:41 +08:00
Jin Cheng 5b6fbea041 docs(bt/bluedroid): update API documents of SPP 2024-02-22 09:52:53 +08:00
Jin Cheng 7560b70244 feat(bt/bluedroid): Added an event to notify the encryption mode to applicaiton layer 2024-02-22 09:51:48 +08:00
Jin Cheng fdd1f41836 feat(bt/bluedroid): Added report for the type of link key in ESP_BT_GAP_AUTH_CMPL_EVT 2024-02-22 09:51:48 +08:00
Jin Cheng 595d8b512f fix(bt/bluedroid): corrected the strings of A2DP audio states 2024-01-04 17:53:04 +08:00
Jin Cheng f30d282d66 fix(bt/bluedroid): Disabled Sniff Subrating temporarily as it did not work well 2023-12-26 11:48:04 +08:00
Jin Cheng daed0d9f3a fix(bt/bluedroid): Changed the default air mode to invalid value 2023-12-26 11:48:04 +08:00
Jin Cheng 09db8a96f0 fix(bt/bluedroid): Removed redundant operation of SCO clean up 2023-12-26 11:48:04 +08:00
Jin Cheng fe277d5b13 fix(bt/bluedroid): Corrected the definitions of HF Client callback events 2023-12-26 11:48:04 +08:00
Jin Cheng 659ae0ce9e fix(bt/bluedroid): Avoided crash of LoadProhibited during HFP AG deinitialization
Move the release of the control blocks from the start
of deinitialization to the profile disabled event.
2023-12-26 11:48:04 +08:00
Jin Cheng 77430f3e2d fix(bt/bluedroid): Added dynamic memory allocation for HFP control blocks 2023-12-26 11:48:04 +08:00
Jin Cheng d28751ee7f fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free in L2CAP layer 2023-11-30 19:58:38 +08:00
Jin Cheng 7a335421e1 fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free in BTC layer 2023-11-30 19:58:02 +08:00
Jin Cheng 15b27b1749 feat(bt/bluedroid): Added an API to specify data types for ACL-U traffic 2023-11-21 08:09:24 +00:00
Jin Cheng 78a3ecb7ff fix(bt/bluedroid): corrected the API documents of profile HFP and A2DP 2023-11-20 11:58:13 +08:00
Jin Cheng 135987b339 fix(bt/bluedroid): Added some argument check in APIs of HFP AG 2023-11-20 11:57:58 +08:00
Jin Cheng 0e61201243 fix(bt/bluedroid): Fix the crash of invalid access to released resources
It is caused by the delayed timer is alarmed after esp_spp_deinit.
2023-11-17 10:37:28 +08:00
Jin Cheng b05df37981 feat(bt/bluedroid): Support to build HID Host and HID Device in single binary 2023-11-02 17:32:55 +08:00
Jin Cheng 59e504ef27 feat(bt/bluedroid): Added bt_discovery based host only example 2023-11-02 11:10:35 +08:00
Jin Cheng b9ed6f722b feat(bt/bluedroid): Added mode to use BlueDroid host only without Bluetooth Controller 2023-11-02 11:10:24 +08:00
Jin Cheng d0e0928138 feat(bt/Bluedroid): Implemented esp_coex_status_set/clear using vendor HCI 2023-09-13 10:55:04 +08:00
Jin Cheng 3fb242660d fix(bt/controller): Fixed error in sniff negotiation
fix(bt/controller): Avoided both local and peer unsniff being triggered
fix(bt/controller): Fixed the crash of mixing of master- and slave-initiated sniff requests
fix(bt/controller): Moved the TX of HW_ERR_EVT out of interrupt context to thread context
fix(bt/controller): Fixed the issue rx_irq is generated after error_irq for slave sniff mode frame
fix(bt/controller): Fixed asser error resulted from failure of role switch frame insert
fix(bt/controller): Ignored rx_irq in inquiry scan frame end
fix(bt/controller): Ignored rx_irq in page scan frame end
fix(bt/controller): Added status check before set/clear sniff coex status
fix(bt/controller): Fixed IntegerDevideByZero caused by interrupted r_ld_sco_start
2023-09-12 12:20:50 +00:00
Jin Cheng 62f6af0dd7 fix(bt/bluedroid): Fixed incorrect arrangement in type esp_hf_dial_type_t 2023-09-12 06:53:11 +00:00
Jin Cheng 024862c76f change(bt/bluedroid): Added line information printing when error occurs CHECK_HF_IDX 2023-09-12 06:53:11 +00:00
Jin Cheng 9fed90bbb4 fix(bt/bluedroid): Fixed the issue of uninitialized parameters in event BTA_AG_WBS_EVT 2023-09-12 06:53:11 +00:00
Jin Cheng cde05ef495 fix(bt/bluedroid): Deleted the redundant 'memset' in btc_hf_cb_handler 2023-08-31 19:44:37 +08:00
Jin Cheng 0a03f7e03a docs(bt/bluedroid): Changed the description of esp_hf_client_reject_call 2023-08-30 17:27:13 +08:00
Jin Cheng 2668df265e fix(bt/bluedroid): Fixed invalid access to freed semaphore 2023-08-30 17:27:13 +08:00
Jin Cheng fbb69daaaa fix(bt/bluedroid): Fixed wrong indexes of HF-AG indicators 2023-08-30 17:27:13 +08:00
Jin Cheng 6d301d11bc fix(bt/bluedroid): Added peer Bluetooth device address into HF callback parameters 2023-08-30 17:27:03 +08:00
Jin Cheng a93b6674c4 fix(bt/bluedroid): Changed log level from WARNING to DEBUG in bta_ag_sco_read_cback 2023-08-30 17:24:45 +08:00
Jin Cheng 0c4dc36695 fix(bt/bluedroid): Fixed wrong code logic in 'AT+CIND?' of HFP 2023-08-30 17:24:45 +08:00
Jin Cheng ccfcc6a153 fix(bt/bluedroid): Fixed errors in parsing ATD command in HFP AG 2023-08-30 17:24:38 +08:00
Jin Cheng 3e7a47a566 fix(bt/bluedroid): Fixed NULL Bluetooth device address in HF-AG events was reported to application layer 2023-08-25 11:11:32 +08:00
Jin Cheng 99eb6bf3ec fix(bt): Increased SDP maximum connections to avoid connection exhausted 2023-08-03 16:52:50 +08:00
Jin Cheng 79bb7b6c8a fix(bt): Removed an incorrectly defined HCI error code 2023-08-03 12:15:03 +08:00
Jin Cheng ec8a34628f Fixed the issue of alarm leak in hf-ag 2023-06-21 15:24:05 +08:00
Jin Cheng 68c9a492ac Fixed the issue of alarm leak in A2DP 2023-06-21 15:24:05 +08:00
Jin Cheng 4b46ecf6f2 Revised (e)SCO configuration parameter sets 2023-06-16 18:05:41 +08:00
Jin Cheng b4f6e585d4 fix a2dp source crash when connect to Bose speaker 2023-04-10 05:11:04 +00:00
Jin Cheng a7a2e5d407 fixed the crash of LoadProhibited caused by taht
the nodes are deleted during the traversal of the linked list
2023-04-06 14:13:05 +08:00
Jin Cheng cb68c7cba1 Optimized the document for GAP API:
`esp_bt_gap_set_cod`
2023-03-29 15:41:14 +08:00
Jin Cheng 439d285c4a Fixed memory leak in AVDT delay report 2023-03-22 15:30:06 +08:00
Jin Cheng 1d32c85f18 Fixed the index out of bounds of hfp_ag BTC control block 2023-03-22 13:17:33 +08:00
Jin Cheng eac73d8f58 Fixed build errors when sniff subrating is enabled. 2023-02-11 08:29:09 +00:00
Jin Cheng 2e9a180f43 Fixed crash caused by accessing nullptr in btm_acl_disconnected 2023-01-04 11:47:05 +08:00
Jin Cheng f2f6aef019 correct the SR_mode selection when konw nothing about Peripheral 2022-12-07 09:47:03 +00:00
jincheng fa621cdd86 Added ACL link related events handler in A2DP sink GAP callback 2022-12-07 02:33:55 +00:00
jincheng 228bf596dc Added reporting for ACL link related events to application 2022-12-07 02:33:55 +00:00
Jin Cheng 222344ec09 rebase a2dp_gatts_coex to latest a2dp_sink 2022-12-07 02:11:18 +00:00
Jin Cheng e38ee1d9bc Increase BtI2STask stack depth to avoid stack overflow 2022-11-24 10:33:16 +08:00
Jin Cheng c98f522837 1. changed pin_type of Legacy Paring from FIXED to VARIABLE to avoid authentication failure
2. provide compatibilities with devices that do not support Secure Simple Paring

Closes https://github.com/espressif/esp-idf/issues/10069
Closes https://github.com/espressif/esp-idf/issues/10005
2022-11-23 11:17:08 +08:00
Jin Cheng 6fed8fa4ee fixed build errors with Secure Simple Paring disabled 2022-11-23 11:16:59 +08:00
Jin Cheng 82d51a5bb3 Fixed the issue memory access out of bounds in a2dp_source example 2022-11-18 15:29:06 +08:00
Jin Cheng 042fd5f895 fixed the issue iOS devices cannot initiate connection
to ESP32 while there is a BLE connection to this ESP32

Closes https://github.com/espressif/esp-idf/issues/6557
2022-10-31 11:08:15 +00:00
Jin Cheng 36d8e0b9ad Revert "fixed the issue iOS devices cannot initiate connection"
This reverts commit da44fc9cbe.
2022-10-20 06:17:33 +00:00
Jin Cheng 0459cf3963 optimized a2dp_sink audio datapath
1. removed audio cache in BTC layer of Bluedroid
2. added flow control for audio data in application layer

Closes https://github.com/espressif/esp-idf/issues/9622
2022-10-17 20:57:19 +08:00
Jin Cheng 3f0c24862e fixed crash in I2S when reconnect to a2dp sink 2022-10-09 05:25:17 +00:00
Jin Cheng da44fc9cbe fixed the issue iOS devices cannot initiate connection
to ESP32 while there is a BLE connection to this ESP32

Closes https://github.com/espressif/esp-idf/issues/6557
2022-09-23 17:58:39 +08:00
jincheng 1282eda148 fixed the exhaustion of ACL buffer
fixed the duplication of connection request from the same device
2022-08-31 16:24:59 +08:00
jincheng b87eb50ada Fixed the failure of 'connect audio' operation in HFP examples with default SDK configuration
Due to the lack of synchronized connections, the hf_client can not create audio_connection to
hf_ag. Set default number of synchronized connection to 1.

Closes https://github.com/espressif/esp-idf/issues/9537
2022-08-17 10:07:01 +08:00
jincheng ca0d8be5b8 fix the dependency error of macro for memory debug 2022-07-29 17:03:59 +08:00
jincheng 44607e10ea add protect for bt_util_buf_env buffers when access by task and interrupt
ignore the assert_err in rm_bt_clkoff1_setf
2022-07-27 17:56:08 +08:00
jincheng 3de3a8b354 fix the issue of functions not defined when enable memory debug
Closes https://github.com/espressif/esp-idf/issues/9248
2022-07-08 10:57:29 +08:00
jincheng b5d1464180 resolve redefinition in btc_spp.h and btc_hd.h/btc_hh.h
Closes https://github.com/espressif/esp-idf/issues/9199
2022-06-22 11:33:04 +08:00
jincheng eeba284ed1 lower the priority of application task of a2dp demo
Closes https://github.com/espressif/esp-idf/issues/9192
2022-06-21 21:51:25 +08:00
jincheng 70d892fbb8 restore edr_en which was wrongly cleared by role switch
add critical protection for vhci_env_p->vhci_intr_st
ignore max_page when handle remote features

Closes https://github.com/espressif/esp-idf/issues/7923
Closes https://github.com/espressif/esp-idf/issues/8394
Closes https://github.com/espressif/esp-idf/issues/1921
2022-06-21 19:23:41 +08:00
jincheng 8a7ca296d5 avoid wrongly restart discovery 2022-06-16 14:56:29 +08:00
Jin Cheng 19ddb8bde1 Merge branch 'bugfix/crash_when_reconnect_to_sink' into 'master'
bugfix/fix the failure of reconnect to sink

See merge request espressif/esp-idf!17281
2022-03-04 19:20:05 +08:00
jincheng d2361dcb9e fix the failure of reconnect to sink 2022-03-04 04:14:04 +00:00
jincheng 216a57b767 correct the rate of data-producing
Closes https://github.com/espressif/esp-idf/issues/7911
2022-03-01 21:49:44 +08:00
jincheng 0e8f7d7fe4 optimize a2dp demo documents 2022-01-24 14:22:04 +08:00
jincheng 6a9afa65a2 fix cs event for rd_rem_ext_feats delayed issue 2022-01-05 14:48:04 +08:00
jincheng b7a99614a1 fix on esp_hidh report map length checking function
Closes https://github.com/espressif/esp-idf/issues/7586
2021-12-24 15:21:48 +08:00
jincheng 74e121af88 fix HCI_Read_Clock error
fix HCI_Create_Connection_Cancel error
fix ASSERT_WARN during epr
2021-11-09 14:37:13 +08:00
jincheng 60a0d328d1 fix hfp demo audio not sine
Closes https://github.com/espressif/esp-idf/issues/7792
2021-11-04 11:25:03 +08:00
jincheng 733839ab85 add README.md for demo controller_hci_uart 2021-10-19 17:07:42 +08:00
jincheng 52e7b99630 fix wrong clock_id in function time_now_us
Close https://github.com/espressif/esp-idf/issues/7561
2021-09-23 09:47:35 +08:00
jincheng c592da5308 bugfix/fix the crash when using legacy paring with wrong pin code
Close https://github.com/espressif/esp-idf/issues/7556
2021-09-23 07:40:54 +08:00
jincheng a523dd3ede fix timer collision in role switch
Closes https://github.com/espressif/esp-idf/issues/7203
2021-08-16 08:54:37 +08:00