Commit graph

911 commits

Author SHA1 Message Date
baohongde 21cce564ba component/bt: Macor from sdkconfig.h is used only in bt_user_config.h 2019-06-20 11:41:17 +08:00
baohongde faf23df19a component/bt : modify OSI thread of bluedroid
abstract of OSI thread to make bluedroid more compatible with different OS.
2019-06-19 21:20:04 +08:00
Jiang Jiang Jian 28e0a17e0a Merge branch 'bugfix/btdm_make_failed_due_to_macro' into 'master'
components/bt: Fix make errors due to macro usage error

See merge request idf/esp-idf!5105
2019-06-19 14:44:02 +08:00
Jiang Jiang Jian ceb00f7a41 Merge branch 'bugfix/btdm_add_svc_inst_id_param_for_create_tab_event' into 'master'
Component/bt: add svc_inst_id param for create service table event

See merge request idf/esp-idf!4958
2019-06-18 21:19:41 +08:00
zhiweijian 8f2490cc6f Component/bt: add svc_inst_id param for create service table event
- add svc_inst_id param for create service table event
  - Closes https://github.com/espressif/esp-idf/issues/3256
2019-06-17 07:05:31 +00:00
zhiweijian 76b3a64b76 Component/bt: add new api to get connection parameters 2019-06-17 07:04:34 +00:00
Jiang Jiang Jian 4e09eaf8e2 Merge branch 'feature/btdm_config_eir' into 'master'
components/bt: Add API to config EIR data

See merge request idf/esp-idf!5038
2019-06-13 14:55:23 +08:00
Jiang Jiang Jian 5274739fff Merge branch 'bugfix/btdm_a2dp_src_pkt_overflow' into 'master'
component/bt: fix some performance issues in A2DP source data flow control

See merge request idf/esp-idf!4932
2019-06-04 16:07:31 +08:00
baohongde 89e2b48a18 components/bt: Add API to config EIR data 2019-06-03 19:29:54 +08:00
baohongde 13908160fb components/bt: Fix make errors due to macro usage error 2019-05-30 20:19:43 +08:00
Jiang Jiang Jian da13efc17a Merge branch 'feature/btdm_msbc_codec' into 'master'
Wide Band Speech for HFP

See merge request idf/esp-idf!4854
2019-05-29 14:39:21 +08:00
Angus Gratton 154fc74f76 Merge branch 'bugfix/nvs_typedef_naming_pr3239' into 'master'
nvs: Append _t to nvs_handle & nvs_open_mode types

Closes IDFGH-891

See merge request idf/esp-idf!4783
2019-05-29 08:14:00 +08:00
baohongde fcf4886172 components/bt: Support EV3 packet type 2019-05-24 17:36:10 +08:00
baohongde dd906a91a5 components/bt: Enable mSBC and add decoder and encoder 2019-05-24 17:36:10 +08:00
baohongde 20758443df components/bt: Add packet loss concealment (PLC) for HFP 2019-05-24 17:33:52 +08:00
baohongde e10d5aaddc component/bt: modify the SBC decoder to support mSBC mode 2019-05-24 17:33:52 +08:00
wangmengyang 7c28611a3d component/bt: modify the SBC encoder to support mSBC mode 2019-05-24 17:33:52 +08:00
baohongde f15323b453 component/bt: remove SBC frame scramling 2019-05-24 17:33:52 +08:00
GOPTIONS\pfrost 897bb55482 nvs: Append _t to nvs_handle & nvs_open_mode types
Merges https://github.com/espressif/esp-idf/pull/3239/
2019-05-22 02:53:28 +00:00
Roland Dobai 1ad2283641 Rename Kconfig options (components/bootloader) 2019-05-21 09:32:55 +02:00
Roland Dobai a1bddb923b Rename Kconfig options (components/bt) 2019-05-21 09:09:01 +02:00
wangmengyang 38ec1b9a86 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-05-05 11:42:27 +08:00
Jiang Jiang Jian b5bbd42b9a Merge branch 'bugfix/btdm_abort_if_deinit_spp_without_init' into 'master'
components/bt: Fix abort if call esp_spp_deinit without calling esp_spp_init

See merge request idf/esp-idf!4859
2019-04-25 20:38:37 +08:00
baohongde db6b210a5f components/bt: Fix abort if call esp_spp_deinit without calling esp_spp_init 2019-04-24 11:17:54 +08:00
zhiweijian 0ae4eb4f09 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 09:16:19 +00:00
Michael (XIAO Xufeng) 562af8f65e global: move the soc component out of the common list
This MR removes the common dependency from every IDF components to the SOC component.

Currently, in the ``idf_functions.cmake`` script, we include the header path of SOC component by default for all components.
But for better code organization (or maybe also benifits to the compiling speed), we may remove the dependency to SOC components for most components except the driver and kernel related components.

In CMAKE, we have two kinds of header visibilities (set by include path visibility):

(Assume component A --(depends on)--> B, B is the current component)

1. public (``COMPONENT_ADD_INCLUDEDIRS``): means this path is visible to other depending components (A) (visible to A and B)
2. private (``COMPONENT_PRIV_INCLUDEDIRS``): means this path is only visible to source files inside the component (visible to B only)

and we have two kinds of depending ways:

(Assume component A --(depends on)--> B --(depends on)--> C, B is the current component)

1. public (```COMPONENT_REQUIRES```): means B can access to public include path of C. All other components rely on you (A) will also be available for the public headers. (visible to A, B)
2. private (``COMPONENT_PRIV_REQUIRES``): means B can access to public include path of C, but don't propagate this relation to other components (A). (visible to B)

1. remove the common requirement in ``idf_functions.cmake``, this makes the SOC components invisible to all other components by default.
2. if a component (for example, DRIVER) really needs the dependency to SOC, add a private dependency to SOC for it.
3. some other components that don't really depends on the SOC may still meet some errors saying "can't find header soc/...", this is because it's depended component (DRIVER) incorrectly include the header of SOC in its public headers. Moving all this kind of #include into source files, or private headers
4. Fix the include requirements for some file which miss sufficient #include directives. (Previously they include some headers by the long long long header include link)

This is a breaking change. Previous code may depends on the long include chain.
You may need to include the following headers for some files after this commit:

- soc/soc.h
- soc/soc_memory_layout.h
- driver/gpio.h
- esp_sleep.h

The major broken include chain includes:

1. esp_system.h no longer includes esp_sleep.h. The latter includes driver/gpio.h and driver/touch_pad.h.
2. ets_sys.h no longer includes soc/soc.h
3. freertos/portmacro.h no longer includes soc/soc_memory_layout.h

some peripheral headers no longer includes their hw related headers, e.g. rom/gpio.h no longer includes soc/gpio_pins.h and soc/gpio_reg.h

BREAKING CHANGE
2019-04-16 13:21:15 +08:00
wangmengyang 61bd453c15 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.
4. 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.
5. Implement callback events for SetAbsoluteVolume command indication on TG.
6. 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).
7. Add feature bit mask in parameter of callback event ESP_AVRC_CT_REMOTE_FEATURES_EVT for peer feature information got from SDP.
8. Add API and callback event to AVRCP CT to retrieve remote TG's supported notification event capabilities.
9. Modify data type for parameter of callback event ESP_AVRC_CT_CHANGE_NOTIFY_EVT.
10. Change AVRCP version from 1.3 to 1.4 for compatibility cause in using AbsoluteVolume feature.
11. Modify local AVRCP device to be category 1 as CT and category 2 as TG that applies to bluetooth headphones or speakers.
12. Update the use of AVRCP APIs and events in the two examples: a2dp_sink and a2dp_gatts_coex, which include the demo of volume control and notification.
2019-04-10 16:34:13 +08:00
Jiang Jiang Jian 3ab9d00219 Merge branch 'bugfix/btdm_fix_warning_when_disable_logs' into 'master'
components/bt: Fix warning when disable debug logs or in release mode and improve the code structure

See merge request idf/esp-idf!4618
2019-04-04 18:45:25 +08:00
zhiweijian 0acc2f59e5 Component/bt: add mesh beacon adv and svc uuid for duplicate scan exceptional list 2019-03-28 06:09:19 +00:00
Jiang Jiang Jian fe793eb574 Merge branch 'bugfix/btdm_modify_HCI_GET_CMD_BUF' into 'master'
Component/bt: modify HCI_GET_CMD_BUF

See merge request idf/esp-idf!4465
2019-03-27 14:23:52 +08:00
baohongde 59d77660ef components/bt: Fix warning when disable debug logs or in release mode and improve the code structure 2019-03-26 14:37:37 +08:00
zhiweijian c0bdea6aae Component/bt: add new param for update_whitelist() 2019-03-22 12:22:51 +00:00
Jiang Jiang Jian bd103f3743 Merge branch 'feature/btdm_add_api_to_clean_gattc_cache' into 'master'
Component/bt: add api to clean gattc cache

See merge request idf/esp-idf!3951
2019-03-20 22:05:00 +08:00
Jiang Jiang Jian c5fb88c2e2 Merge branch 'bugfix/btdm_fix_build_warning_when_bluedroid_disable_log' into 'master'
Component/bt: fix build warning when bluedroid disable log

See merge request idf/esp-idf!4524
2019-03-20 21:09:59 +08:00
zhiweijian 7f606d0c2b Component/bt: modify HCI_GET_CMD_BUF 2019-03-20 19:35:06 +08:00
Jiang Jiang Jian dc5ff1d633 Merge branch 'bugfix/btdm_fix_blufi_prepare_write_crash' into 'master'
Component/bt: fix blufi prepare write crash

See merge request idf/esp-idf!4447
2019-03-20 11:46:15 +08:00
zhiweijian 1940ee0910 Component/bt: fix build warning when bluedroid disable log 2019-03-18 14:18:12 +08:00
Jiang Jiang Jian 5beb2802e0 Merge branch 'bugfix/bluetooth_fix_API_esp_bt_gap_set_scan_mode' into 'master'
Modify esp_bt_gap_set_scan_mode() to be able to set connection modes as well as discoverable modes

See merge request idf/esp-idf!2208
2019-03-17 14:19:11 +08:00
zhiweijian 296fbca2e7 Component/bt: fix blufi prepare write crash 2019-03-13 17:57:25 +08:00
zhiweijian d5e78e79d3 Component/bt: add api to clean gattc cache 2019-03-13 15:23:33 +08:00
Hrishikesh Dhayagude d9ce0bb705 Modify esp_bt_gap_set_scan_mode() to be able to set connection modes as well as discoverable modes
The current API is insufficient to allow the users to set different combinations of connection and discoverable mode

Users should be able to choose the device modes independently:
1. Connectable-
  i. Non-connectable mode
  ii. Connectable mode

2. Discoverable-
  i. Non-discoverable mode
  ii. Limited discoverable mode
  iii. General discoverable mode
2019-03-13 11:24:00 +05:30
zhiweijian d5f15a45ca Component/bt: add BLE adv report flow control 2019-03-12 11:10:26 +08:00
zhiweijian d71df18d92 Component/bt: fix iOS and win10 compatibility error for HID 2019-02-28 20:39:12 +08:00
Jiang Jiang Jian 484d8ab7ed Merge branch 'bugfix/btdm_fix_remove_bonded_device_warnning' into 'master'
Component/bt: fix remove bonded device warnning

See merge request idf/esp-idf!3704
2019-02-27 17:54:37 +08:00
Jiang Jiang Jian d4d3ccf6d9 Merge branch 'bugfix/btdm_add_handle_in_gatts_conf_event_for_indication' into 'master'
Component/bt: add handle in gatts conf event for indication

See merge request idf/esp-idf!4024
2019-02-01 21:33:39 +08:00
zhiweijian b51a0fcea5 Component/bt: fix write char crash after disconnection 2019-01-31 12:18:54 +00:00
zhiweijian b2a515c347 Component/bt: add handle in gatts conf event for indication 2019-01-28 07:12:22 +00:00
Jiang Jiang Jian 5c88c5996d Merge branch 'bugfix/ble_active_scan_not_wait_scan_rsp' into 'master'
component/bt: add a option to make report adv data and scan response individually

See merge request idf/esp-idf!4131
2019-01-25 11:53:06 +08:00
Tian Hao 6c8a8664aa component/bt: add a option to make report adv data and scan response individually
Originally, when doing BLE active scan, Bluedroid will not report adv to
application layer until receive scan response. This option is used to
disable the behavior. When enable this option, Bluedroid will report
adv data or scan response to application layer immediately.
2019-01-24 14:30:02 +08:00
Michael Reutman fdd865f22d Fix typo in error message in esp_bluedroid_init
Closes https://github.com/espressif/esp-idf/pull/2835
2019-01-23 16:47:23 +05:30