33#include " serial/Serial.h"
44
55#include < driver/uart.h>
6+ #include < driver/usb_serial_jtag.h>
67#include < freertos/task.h>
8+ #include < sdkconfig.h>
79
810#define TAG " serial::Serial"
911
10- #define UART_NUM UART_NUM_0
11- #define UART_TXP 1
12- #define UART_RXP 3
13- #define UART_BUFFER_SIZE 1024
12+ #define USE_USB_JTAG false
13+
14+ #define UART_NUM UART_NUM_2 // Only for ESP32 and ESP32S3
15+ #define UART_TXP 4
16+ #define UART_RXP 5
1417#define UART_QUEUE_SIZE 10
15- #define UART_BAUD_RATE 115200
18+ #define UART_BAUD_RATE 115'200
19+
20+ #define BUFFER_SIZE 1024
1621
1722using namespace OpenShock ;
1823
19- bool Serial::Init () {
24+ bool Serial::Init ()
25+ {
26+ esp_err_t err;
27+ #if USE_USB_JTAG
28+ usb_serial_jtag_driver_config_t usb_serial_jtag_config = {
29+ .tx_buffer_size = BUFFER_SIZE,
30+ .rx_buffer_size = BUFFER_SIZE,
31+ };
32+
33+ err = usb_serial_jtag_driver_install (&usb_serial_jtag_config);
34+ if (err != ESP_OK) {
35+ return false ;
36+ }
37+ #else
2038 if (uart_is_driver_installed (UART_NUM)) {
2139 return true ;
2240 }
@@ -25,15 +43,19 @@ bool Serial::Init() {
2543 uart_config_t uart_config = {
2644 .baud_rate = UART_BAUD_RATE,
2745 .data_bits = UART_DATA_8_BITS,
28- .parity = UART_PARITY_DISABLE,
46+ .parity = UART_PARITY_DISABLE,
2947 .stop_bits = UART_STOP_BITS_1,
3048 .flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
31- .source_clk = UART_SCLK_DEFAULT,
32- }; // default values
49+ #ifdef UART_SCLK_DEFAULT
50+ .source_clk = UART_SCLK_REF_TICK,
51+ #elif SOC_UART_SUPPORT_REF_TICK
52+ .source_clk = UART_SCLK_REF_TICK,
53+ #else
54+ .source_clk = UART_SCLK_APB,
55+ #endif
56+ }; // default values
3357
34- esp_err_t err;
35-
36- err = uart_driver_install (UART_NUM, UART_BUFFER_SIZE, UART_BUFFER_SIZE, UART_QUEUE_SIZE, nullptr , 0 );
58+ err = uart_driver_install (UART_NUM, BUFFER_SIZE, BUFFER_SIZE, UART_QUEUE_SIZE, nullptr , 0 );
3759 if (err != ESP_OK) {
3860 return false ;
3961 }
@@ -47,8 +69,7 @@ bool Serial::Init() {
4769 if (err != ESP_OK) {
4870 return false ;
4971 }
50-
51- uart_
72+ #endif
5273
5374 return true ;
5475}
0 commit comments