From 2887131b3990ddc08d83b9e065e00c474f58e6b3 Mon Sep 17 00:00:00 2001 From: Chinmay Chhajed Date: Fri, 6 Dec 2019 12:09:16 +0800 Subject: [PATCH] Changes in `menuconfig` options to not compile any host when using hci examples as no host is required there. --- components/bt/Kconfig | 7 +++++++ examples/README.md | 1 + examples/bluetooth/bluedroid/README.md | 1 - examples/bluetooth/hci/README.md | 19 +++++++++++++++++++ .../hci/controller_hci_uart/CMakeLists.txt | 0 .../hci/controller_hci_uart/Makefile | 0 .../hci/controller_hci_uart/README.md | 0 .../controller_hci_uart/main/CMakeLists.txt | 0 .../hci/controller_hci_uart/main/component.mk | 0 .../main/controller_hci_uart_demo.c | 0 .../controller_hci_uart/sdkconfig.defaults | 1 + .../controller_vhci_ble_adv/CMakeLists.txt | 0 .../hci/controller_vhci_ble_adv/Makefile | 0 .../hci/controller_vhci_ble_adv/README.md | 0 .../main/CMakeLists.txt | 0 .../hci/controller_vhci_ble_adv/main/app_bt.c | 0 .../controller_vhci_ble_adv/main/component.mk | 0 .../sdkconfig.defaults | 6 ++++-- 18 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 examples/bluetooth/hci/README.md rename examples/bluetooth/{bluedroid => }/hci/controller_hci_uart/CMakeLists.txt (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_hci_uart/Makefile (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_hci_uart/README.md (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_hci_uart/main/CMakeLists.txt (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_hci_uart/main/component.mk (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_hci_uart/main/controller_hci_uart_demo.c (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_hci_uart/sdkconfig.defaults (93%) rename examples/bluetooth/{bluedroid => }/hci/controller_vhci_ble_adv/CMakeLists.txt (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_vhci_ble_adv/Makefile (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_vhci_ble_adv/README.md (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_vhci_ble_adv/main/CMakeLists.txt (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_vhci_ble_adv/main/app_bt.c (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_vhci_ble_adv/main/component.mk (100%) rename examples/bluetooth/{bluedroid => }/hci/controller_vhci_ble_adv/sdkconfig.defaults (52%) diff --git a/components/bt/Kconfig b/components/bt/Kconfig index 6346b818f0..04f891b6b9 100644 --- a/components/bt/Kconfig +++ b/components/bt/Kconfig @@ -393,6 +393,13 @@ menu "Bluetooth" help This option is recommended for BLE only usecases to save on memory + config BT_CONTROLLER_ONLY + bool "Controller Only" + help + This option is recommended when you want to communicate directly with the + controller (without any host) or when you are using any other host stack + not supported by Espressif (not mentioned here). + endchoice menu "Bluedroid Options" diff --git a/examples/README.md b/examples/README.md index 9728c32166..240e270384 100644 --- a/examples/README.md +++ b/examples/README.md @@ -9,6 +9,7 @@ The examples are grouped into subdirectories by category. Each category director * `bluetooth/bluedroid` contains Classic BT, BLE and coex examples using default Bluedroid host stack. * `bluetooth/nimble` contains BLE examples using NimBLE host stack. * `bluetooth/esp_ble_mesh` contains ESP BLE Mesh examples. +* `bluetooth/hci` contains HCI transport (VHCI and HCI UART) examples * `ethernet` contains Ethernet examples. * `get-started` contains some very simple examples with minimal functionality. * `mesh` contains Wi-Fi Mesh examples. diff --git a/examples/bluetooth/bluedroid/README.md b/examples/bluetooth/bluedroid/README.md index f7173737ba..9a8aa7f176 100644 --- a/examples/bluetooth/bluedroid/README.md +++ b/examples/bluetooth/bluedroid/README.md @@ -8,6 +8,5 @@ The examples are grouped into subdirectories by category. Each category director * `classic_bt` contains Classic BT examples * `ble` contains BLE examples * `coex` contains Classic BT and BLE coex examples -* `hci` contains HCI transport (VHCI and HCI UART) examples See the [README.md](../../README.md) file in the upper level [examples](../../) directory for more information about examples. diff --git a/examples/bluetooth/hci/README.md b/examples/bluetooth/hci/README.md new file mode 100644 index 0000000000..41be804912 --- /dev/null +++ b/examples/bluetooth/hci/README.md @@ -0,0 +1,19 @@ +# Bluetooth Examples for Host Controller Interface + +Note: To use examples in this directory, you need to have Bluetooth enabled in configuration. + +# Example Layout + +This directory includes examples to demonstrate controller interactions by virtual HCI layer and UART. + +## controller_hci_uart + +Demonstrates interaction with controller through HCI over UART. + +See the [README.md](./controller_hci_uart/README.md) file in the example [controller_hci_uart](./controller_hci_uart). + +## controller_vhci_ble_adv + +Demonstrates interaction with controller though virtual HCI layer. In this example, simple BLE advertising is done. + +See the [README.md](./controller_vhci_ble_adv/README.md) file in the example [controller_vhci_ble_adv](./controller_vhci_ble_adv). diff --git a/examples/bluetooth/bluedroid/hci/controller_hci_uart/CMakeLists.txt b/examples/bluetooth/hci/controller_hci_uart/CMakeLists.txt similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_hci_uart/CMakeLists.txt rename to examples/bluetooth/hci/controller_hci_uart/CMakeLists.txt diff --git a/examples/bluetooth/bluedroid/hci/controller_hci_uart/Makefile b/examples/bluetooth/hci/controller_hci_uart/Makefile similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_hci_uart/Makefile rename to examples/bluetooth/hci/controller_hci_uart/Makefile diff --git a/examples/bluetooth/bluedroid/hci/controller_hci_uart/README.md b/examples/bluetooth/hci/controller_hci_uart/README.md similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_hci_uart/README.md rename to examples/bluetooth/hci/controller_hci_uart/README.md diff --git a/examples/bluetooth/bluedroid/hci/controller_hci_uart/main/CMakeLists.txt b/examples/bluetooth/hci/controller_hci_uart/main/CMakeLists.txt similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_hci_uart/main/CMakeLists.txt rename to examples/bluetooth/hci/controller_hci_uart/main/CMakeLists.txt diff --git a/examples/bluetooth/bluedroid/hci/controller_hci_uart/main/component.mk b/examples/bluetooth/hci/controller_hci_uart/main/component.mk similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_hci_uart/main/component.mk rename to examples/bluetooth/hci/controller_hci_uart/main/component.mk diff --git a/examples/bluetooth/bluedroid/hci/controller_hci_uart/main/controller_hci_uart_demo.c b/examples/bluetooth/hci/controller_hci_uart/main/controller_hci_uart_demo.c similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_hci_uart/main/controller_hci_uart_demo.c rename to examples/bluetooth/hci/controller_hci_uart/main/controller_hci_uart_demo.c diff --git a/examples/bluetooth/bluedroid/hci/controller_hci_uart/sdkconfig.defaults b/examples/bluetooth/hci/controller_hci_uart/sdkconfig.defaults similarity index 93% rename from examples/bluetooth/bluedroid/hci/controller_hci_uart/sdkconfig.defaults rename to examples/bluetooth/hci/controller_hci_uart/sdkconfig.defaults index 13c28e405d..306b16d9f3 100644 --- a/examples/bluetooth/bluedroid/hci/controller_hci_uart/sdkconfig.defaults +++ b/examples/bluetooth/hci/controller_hci_uart/sdkconfig.defaults @@ -12,6 +12,7 @@ CONFIG_BTDM_CTRL_BLE_MAX_CONN=9 CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN=7 CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN=3 CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_CONTROLLER_ONLY=y CONFIG_BT_HCI_UART=y CONFIG_BT_HCI_UART_NO_DEFAULT=1 CONFIG_BT_HCI_UART_BAUDRATE_DEFAULT=921600 diff --git a/examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/CMakeLists.txt b/examples/bluetooth/hci/controller_vhci_ble_adv/CMakeLists.txt similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/CMakeLists.txt rename to examples/bluetooth/hci/controller_vhci_ble_adv/CMakeLists.txt diff --git a/examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/Makefile b/examples/bluetooth/hci/controller_vhci_ble_adv/Makefile similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/Makefile rename to examples/bluetooth/hci/controller_vhci_ble_adv/Makefile diff --git a/examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/README.md b/examples/bluetooth/hci/controller_vhci_ble_adv/README.md similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/README.md rename to examples/bluetooth/hci/controller_vhci_ble_adv/README.md diff --git a/examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/main/CMakeLists.txt b/examples/bluetooth/hci/controller_vhci_ble_adv/main/CMakeLists.txt similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/main/CMakeLists.txt rename to examples/bluetooth/hci/controller_vhci_ble_adv/main/CMakeLists.txt diff --git a/examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/main/app_bt.c b/examples/bluetooth/hci/controller_vhci_ble_adv/main/app_bt.c similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/main/app_bt.c rename to examples/bluetooth/hci/controller_vhci_ble_adv/main/app_bt.c diff --git a/examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/main/component.mk b/examples/bluetooth/hci/controller_vhci_ble_adv/main/component.mk similarity index 100% rename from examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/main/component.mk rename to examples/bluetooth/hci/controller_vhci_ble_adv/main/component.mk diff --git a/examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/sdkconfig.defaults b/examples/bluetooth/hci/controller_vhci_ble_adv/sdkconfig.defaults similarity index 52% rename from examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/sdkconfig.defaults rename to examples/bluetooth/hci/controller_vhci_ble_adv/sdkconfig.defaults index b3e4032220..3b0474335e 100644 --- a/examples/bluetooth/bluedroid/hci/controller_vhci_ble_adv/sdkconfig.defaults +++ b/examples/bluetooth/hci/controller_vhci_ble_adv/sdkconfig.defaults @@ -6,5 +6,7 @@ # CONFIG_BT_ENABLED=y CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY= -CONFIG_BTDM_CTRL_MODE_BTDM= +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_CONTROLLER_ONLY=y