mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
0d0bec6c31
It is now possible to start a REPL CLI on another UART than the default one. Closes https://github.com/espressif/esp-idf/issues/6897
61 lines
2.5 KiB
Markdown
61 lines
2.5 KiB
Markdown
# UART REPL Example
|
|
|
|
(See the README.md file in the upper level 'examples' directory for more information about examples.)
|
|
|
|
This example demonstrates how to use REPL console on a different UART than the default one.
|
|
It also shows how to connect these two UART together, either for testing or for sending commands
|
|
without any human interaction.
|
|
|
|
## How to use example
|
|
|
|
### Hardware Required
|
|
|
|
The example can be run on any ESP board that have at least 2 UARTs. The development board shall be connected to a
|
|
PC with a single USB cable for flashing and monitoring. If you are willing to monitor the console UART, you may use
|
|
a 3.3V compatible USB-to-Serial dongle on its GPIO pin.
|
|
|
|
### Setup the Hardware
|
|
|
|
No external connection is needed in order to run the example. However, as stated before, if you are willing to see what
|
|
is going on on the second UART (console UART), you can connect pins CONSOLE_UART_TX_PIN (5 by default) and
|
|
CONSOLE_UART_RX_PIN (4 by default) to a Serial-to-USB adapter.
|
|
|
|
### Configure the project
|
|
|
|
The default values, located at the top of `main/uart_repl_example_main.c` can be changed such as:
|
|
DEFAULT_UART_CHANNEL, CONSOLE_UART_CHANNEL, DEFAULT_UART_RX_PIN, DEFAULT_UART_TX_PIN, CONSOLE_UART_RX_PIN,
|
|
CONSOLE_UART_TX_PIN, UARTS_BAUD_RATE, TASK_STACK_SIZE, and READ_BUF_SIZE.
|
|
|
|
### Build and Flash
|
|
|
|
Build the project and flash it to the board, then run monitor tool to view default UART's serial output:
|
|
|
|
```
|
|
idf.py -p PORT flash monitor
|
|
```
|
|
|
|
(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 will set up the default UART to use DEFAULT_UART_RX_PIN and DEFAULT_UART_TX_PIN. Then, it will set up
|
|
the REPL console on the second UART. Finally, it will connect both UARTs together in order to let default UART
|
|
be able to send commands and receive replies to and from the console UART.
|
|
|
|
Here is a diagram of what UARTs will look like:
|
|
|
|
```
|
|
UART default UART console
|
|
|
|
USB monitoring <------ TX -----------> RX----+
|
|
v
|
|
Parse command
|
|
and output result
|
|
| Optional 3.3V
|
|
RX <----------- TX<---+ (----------->) Serial-to-USB
|
|
Adapter
|
|
```
|
|
|
|
If everything goes fine, the output on default UART should be "Result: Success". Else, it should be "Result: Failure". |