Skip to content

Commit 48f17b4

Browse files
committed
Some fixes and add jtag support
1 parent e001e00 commit 48f17b4

File tree

2 files changed

+36
-15
lines changed

2 files changed

+36
-15
lines changed

src/main.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ void setup()
9393
{
9494
// esp_log_level_set(ESP_LOG_VERBOSE);
9595

96-
Serial::Init();
96+
OpenShock::Serial::Init();
9797

9898
// esp_log_level_set(ESP_LOG_VERBOSE);
9999

src/serial/Serial.cpp

+35-14
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,38 @@
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

1722
using 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

Comments
 (0)