3
3
#include " serial/Serial.h"
4
4
5
5
#include < driver/uart.h>
6
+ #include < driver/usb_serial_jtag.h>
6
7
#include < freertos/task.h>
8
+ #include < sdkconfig.h>
7
9
8
10
#define TAG " serial::Serial"
9
11
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
14
17
#define UART_QUEUE_SIZE 10
15
- #define UART_BAUD_RATE 115200
18
+ #define UART_BAUD_RATE 115'200
19
+
20
+ #define BUFFER_SIZE 1024
16
21
17
22
using namespace OpenShock ;
18
23
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
20
38
if (uart_is_driver_installed (UART_NUM)) {
21
39
return true ;
22
40
}
@@ -25,15 +43,19 @@ bool Serial::Init() {
25
43
uart_config_t uart_config = {
26
44
.baud_rate = UART_BAUD_RATE,
27
45
.data_bits = UART_DATA_8_BITS,
28
- .parity = UART_PARITY_DISABLE,
46
+ .parity = UART_PARITY_DISABLE,
29
47
.stop_bits = UART_STOP_BITS_1,
30
48
.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
33
57
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 );
37
59
if (err != ESP_OK) {
38
60
return false ;
39
61
}
@@ -47,8 +69,7 @@ bool Serial::Init() {
47
69
if (err != ESP_OK) {
48
70
return false ;
49
71
}
50
-
51
- uart_
72
+ #endif
52
73
53
74
return true ;
54
75
}
0 commit comments