mirror of
https://github.com/esphome/esphome.git
synced 2024-12-22 13:34:54 +01:00
Allow use of CDC/JTAG loggers on esp32 variants with Arduino (#4658)
* Allow use of CDC/JTAG loggers on esp32 variants with Arduino * Only on s2/s3 * Separate C3 from S2/S3 * C code builds & runs correctly, still needs work though * Works on S2 * It works! * Remove unnecessary header --------- Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
This commit is contained in:
parent
cc5611bd89
commit
3c3ac92038
3 changed files with 29 additions and 7 deletions
|
@ -124,8 +124,6 @@ is_log_level = cv.one_of(*LOG_LEVELS, upper=True)
|
||||||
|
|
||||||
def uart_selection(value):
|
def uart_selection(value):
|
||||||
if CORE.is_esp32:
|
if CORE.is_esp32:
|
||||||
if value.upper() in ESP_IDF_UARTS and not CORE.using_esp_idf:
|
|
||||||
raise cv.Invalid(f"Only esp-idf framework supports {value}.")
|
|
||||||
variant = get_esp32_variant()
|
variant = get_esp32_variant()
|
||||||
if variant in UART_SELECTION_ESP32:
|
if variant in UART_SELECTION_ESP32:
|
||||||
return cv.one_of(*UART_SELECTION_ESP32[variant], upper=True)(value)
|
return cv.one_of(*UART_SELECTION_ESP32[variant], upper=True)(value)
|
||||||
|
|
|
@ -236,8 +236,13 @@ void Logger::pre_setup() {
|
||||||
this->hw_serial_ = &Serial1;
|
this->hw_serial_ = &Serial1;
|
||||||
Serial1.begin(this->baud_rate_);
|
Serial1.begin(this->baud_rate_);
|
||||||
#else
|
#else
|
||||||
|
#if ARDUINO_USB_CDC_ON_BOOT
|
||||||
this->hw_serial_ = &Serial;
|
this->hw_serial_ = &Serial;
|
||||||
Serial.begin(this->baud_rate_);
|
Serial.begin(this->baud_rate_);
|
||||||
|
#else
|
||||||
|
this->hw_serial_ = &Serial;
|
||||||
|
Serial.begin(this->baud_rate_);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_ESP8266
|
#ifdef USE_ESP8266
|
||||||
if (this->uart_ == UART_SELECTION_UART0_SWAP) {
|
if (this->uart_ == UART_SELECTION_UART0_SWAP) {
|
||||||
|
@ -265,12 +270,35 @@ void Logger::pre_setup() {
|
||||||
Serial2.begin(this->baud_rate_);
|
Serial2.begin(this->baud_rate_);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(USE_ESP32) && \
|
||||||
|
(defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) || defined(USE_ESP32_VARIANT_ESP32C3))
|
||||||
|
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
||||||
|
case UART_SELECTION_USB_CDC:
|
||||||
|
#endif // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3
|
||||||
|
#if defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32S3)
|
||||||
|
case UART_SELECTION_USB_SERIAL_JTAG:
|
||||||
|
#endif // USE_ESP32_VARIANT_ESP32C3 || USE_ESP32_VARIANT_ESP32S3
|
||||||
|
#ifdef USE_ESP32_VARIANT_ESP32C3
|
||||||
|
this->hw_serial_ = &Serial;
|
||||||
|
Serial.begin(this->baud_rate_);
|
||||||
|
#endif // USE_ESP32_VARIANT_ESP32C3
|
||||||
|
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
||||||
|
#if ARDUINO_USB_CDC_ON_BOOT
|
||||||
|
this->hw_serial_ = &Serial;
|
||||||
|
Serial.begin(this->baud_rate_);
|
||||||
|
#else
|
||||||
|
this->hw_serial_ = &Serial;
|
||||||
|
Serial.begin(this->baud_rate_);
|
||||||
|
#endif // ARDUINO_USB_CDC_ON_BOOT
|
||||||
|
#endif // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3
|
||||||
|
break;
|
||||||
|
#endif // USE_ESP32 && (USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3 || USE_ESP32_VARIANT_ESP32C3)
|
||||||
#ifdef USE_RP2040
|
#ifdef USE_RP2040
|
||||||
case UART_SELECTION_USB_CDC:
|
case UART_SELECTION_USB_CDC:
|
||||||
this->hw_serial_ = &Serial;
|
this->hw_serial_ = &Serial;
|
||||||
Serial.begin(this->baud_rate_);
|
Serial.begin(this->baud_rate_);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif // USE_RP2040
|
||||||
}
|
}
|
||||||
#endif // USE_ARDUINO
|
#endif // USE_ARDUINO
|
||||||
#ifdef USE_ESP_IDF
|
#ifdef USE_ESP_IDF
|
||||||
|
@ -393,14 +421,12 @@ const char *const UART_SELECTIONS[] = {
|
||||||
"UART2",
|
"UART2",
|
||||||
#endif // !USE_ESP32_VARIANT_ESP32C3 && !USE_ESP32_VARINT_ESP32C6 && !USE_ESP32_VARIANT_ESP32S2 &&
|
#endif // !USE_ESP32_VARIANT_ESP32C3 && !USE_ESP32_VARINT_ESP32C6 && !USE_ESP32_VARIANT_ESP32S2 &&
|
||||||
// !USE_ESP32_VARIANT_ESP32S3 && !USE_ESP32_VARIANT_ESP32H2
|
// !USE_ESP32_VARIANT_ESP32S3 && !USE_ESP32_VARIANT_ESP32H2
|
||||||
#if defined(USE_ESP_IDF)
|
|
||||||
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
||||||
"USB_CDC",
|
"USB_CDC",
|
||||||
#endif // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3
|
#endif // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3
|
||||||
#if defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32S3)
|
#if defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32S3)
|
||||||
"USB_SERIAL_JTAG",
|
"USB_SERIAL_JTAG",
|
||||||
#endif // USE_ESP32_VARIANT_ESP32C3 || USE_ESP32_VARIANT_ESP32S3
|
#endif // USE_ESP32_VARIANT_ESP32C3 || USE_ESP32_VARIANT_ESP32S3
|
||||||
#endif // USE_ESP_IDF
|
|
||||||
};
|
};
|
||||||
#endif // USE_ESP32
|
#endif // USE_ESP32
|
||||||
#ifdef USE_ESP8266
|
#ifdef USE_ESP8266
|
||||||
|
|
|
@ -45,7 +45,6 @@ enum UARTSelection {
|
||||||
UART_SELECTION_UART2,
|
UART_SELECTION_UART2,
|
||||||
#endif // !USE_ESP32_VARIANT_ESP32C3 && !USE_ESP32_VARIANT_ESP32C6 && !USE_ESP32_VARIANT_ESP32S2 &&
|
#endif // !USE_ESP32_VARIANT_ESP32C3 && !USE_ESP32_VARIANT_ESP32C6 && !USE_ESP32_VARIANT_ESP32S2 &&
|
||||||
// !USE_ESP32_VARIANT_ESP32S3 && !USE_ESP32_VARIANT_ESP32H2
|
// !USE_ESP32_VARIANT_ESP32S3 && !USE_ESP32_VARIANT_ESP32H2
|
||||||
#ifdef USE_ESP_IDF
|
|
||||||
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
|
||||||
UART_SELECTION_USB_CDC,
|
UART_SELECTION_USB_CDC,
|
||||||
#endif // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3
|
#endif // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3
|
||||||
|
@ -54,7 +53,6 @@ enum UARTSelection {
|
||||||
UART_SELECTION_USB_SERIAL_JTAG,
|
UART_SELECTION_USB_SERIAL_JTAG,
|
||||||
#endif // USE_ESP32_VARIANT_ESP32C3 || USE_ESP32_VARIANT_ESP32C6 || USE_ESP32_VARIANT_ESP32S3 ||
|
#endif // USE_ESP32_VARIANT_ESP32C3 || USE_ESP32_VARIANT_ESP32C6 || USE_ESP32_VARIANT_ESP32S3 ||
|
||||||
// USE_ESP32_VARIANT_ESP32H2
|
// USE_ESP32_VARIANT_ESP32H2
|
||||||
#endif // USE_ESP_IDF
|
|
||||||
#endif // USE_ESP32
|
#endif // USE_ESP32
|
||||||
#ifdef USE_ESP8266
|
#ifdef USE_ESP8266
|
||||||
UART_SELECTION_UART0_SWAP,
|
UART_SELECTION_UART0_SWAP,
|
||||||
|
|
Loading…
Reference in a new issue