Przeglądaj źródła

Merge branch 'feature/add_README_for_controller_hci_uart_demo_v4.2' into 'release/v4.2'

[document] add README.md for demo controller_hci_uart_demo for v4.2

See merge request espressif/esp-idf!15563
Wang Meng Yang 4 lat temu
rodzic
commit
eaf738fae9

+ 55 - 0
examples/bluetooth/hci/controller_hci_uart/README.md

@@ -5,6 +5,61 @@ ESP-IDF UART HCI Controller
 ===========================
 
 This is a btdm controller use UART as HCI IO. This require the UART device support RTS/CTS mandatory.
+
 It can do the configuration of UART number and UART baudrate by menuconfig.
 
+## How to use example
+
+### Hardware Required
+
+This example should be able to run on any commonly available ESP32 development board. To connect UART to PC, another board such as ESP_Test Board or FT232 USB UART board is usually needed.
+
+In this example, three UARTs are used:
+
+- UART0 is used as normal output or by IDF monitor
+
+- UART1 or UART2 is used to convey HCI messages
+
+RTS and CTS lines of UART1 or UART2 are required. Pins 5, 18, 23, 19 are used as TxD, RxD, CTS, RTS PINs of UART1 or UART2, respectively.
+
+In a frequently-used scenario, if ESP_Test Board is used, connect the TX0, RX0, RTS0, CTS0 and GND of ESP_Test Board to ESP32 UART1 or UART2 PINs, and Attach ESP_Test board to the host PC.
+
+### Configure the project
+
+```
+idf.py menuconfig
+```
+
+- UART number can be configured in `HCI UART(H4) Options > UART Number for HCI`
+
+- UART baudrate can be configured in `HCI UART(H4) Options > UART Baudrate for HCI`
+
+### Build and Flash
+
+Build the project and flash it to the board, then run monitor tool to view serial output:
+
+```
+idf.py -p PORT flash monitor
+```
+
+(Replace PORT with the name of the serial port to use.)
+
+(To exit the serial monitor, type ``Ctrl-]``.)
+
+See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
+
+## Example Output
+
+The example resets the HCI UART transport and enable Bluetooth Controller.
+
+```
+I (442) CONTROLLER_UART_HCI: HCI UART1 Pin select: TX 5, RX 18, CTS 23, RTS 19
+I (442) BTDM_INIT: BT controller compile version [078d492]
+I (452) system_api: Base MAC address is not set
+I (452) system_api: read default base MAC address from EFUSE
+I (462) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
+```
+
+After these output occurs, HCI messages can be commnunicated over UART1 or UART2. (UART1 in this example)
 
+## Troubleshooting

+ 5 - 7
examples/bluetooth/hci/controller_hci_uart/main/controller_hci_uart_demo.c

@@ -1,10 +1,8 @@
 /*
-   This example code is in the Public Domain (or CC0 licensed, at your option.)
-
-   Unless required by applicable law or agreed to in writing, this
-   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-   CONDITIONS OF ANY KIND, either express or implied.
-*/
+ * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 
 #include <stdio.h>
 #include <string.h>
@@ -27,7 +25,7 @@ static void uart_gpio_reset(void)
     periph_module_enable(PERIPH_UHCI0_MODULE);
 
 #ifdef CONFIG_BT_HCI_UART_NO
-    ESP_LOGI(tag, "HCI UART%d Pin select: TX 5, RX, 18, CTS 23, RTS 19", CONFIG_BT_HCI_UART_NO);
+    ESP_LOGI(tag, "HCI UART%d Pin select: TX 5, RX 18, CTS 23, RTS 19", CONFIG_BT_HCI_UART_NO);
 
     uart_set_pin(CONFIG_BT_HCI_UART_NO, 5, 18, 19, 23);
 #endif