mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 06:33:51 +00:00 
			
		
		
		
	ESP32-C3 USB_CDC fixes (#6069)
This commit is contained in:
		| @@ -84,7 +84,7 @@ UART_SELECTION_ESP32 = { | ||||
|     VARIANT_ESP32: [UART0, UART1, UART2], | ||||
|     VARIANT_ESP32S2: [UART0, UART1, USB_CDC], | ||||
|     VARIANT_ESP32S3: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG], | ||||
|     VARIANT_ESP32C3: [UART0, UART1, USB_SERIAL_JTAG], | ||||
|     VARIANT_ESP32C3: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG], | ||||
|     VARIANT_ESP32C2: [UART0, UART1], | ||||
|     VARIANT_ESP32C6: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG], | ||||
|     VARIANT_ESP32H2: [UART0, UART1, USB_CDC, USB_SERIAL_JTAG], | ||||
| @@ -172,9 +172,10 @@ CONFIG_SCHEMA = cv.All( | ||||
|                 esp8266=UART0, | ||||
|                 esp32=UART0, | ||||
|                 esp32_s2=USB_CDC, | ||||
|                 esp32_s3_idf=USB_SERIAL_JTAG, | ||||
|                 esp32_c3_idf=USB_SERIAL_JTAG, | ||||
|                 esp32_s3_arduino=USB_CDC, | ||||
|                 esp32_s3_idf=USB_SERIAL_JTAG, | ||||
|                 esp32_c3_arduino=USB_CDC, | ||||
|                 esp32_c3_idf=USB_SERIAL_JTAG, | ||||
|                 rp2040=USB_CDC, | ||||
|                 bk72xx=DEFAULT, | ||||
|                 rtl87xx=DEFAULT, | ||||
| @@ -265,6 +266,8 @@ async def to_code(config): | ||||
|     if CORE.using_arduino: | ||||
|         if config[CONF_HARDWARE_UART] == USB_CDC: | ||||
|             cg.add_build_flag("-DARDUINO_USB_CDC_ON_BOOT=1") | ||||
|             if CORE.is_esp32 and get_esp32_variant() == VARIANT_ESP32C3: | ||||
|                 cg.add_build_flag("-DARDUINO_USB_MODE=1") | ||||
|  | ||||
|     if CORE.using_esp_idf: | ||||
|         if config[CONF_HARDWARE_UART] == USB_CDC: | ||||
|   | ||||
| @@ -272,17 +272,13 @@ void Logger::pre_setup() { | ||||
| #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) | ||||
| #if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) || defined(USE_ESP32_VARIANT_ESP32C3) | ||||
|       case UART_SELECTION_USB_CDC: | ||||
| #endif  // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3 | ||||
| #endif  // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3 || USE_ESP32_VARIANT_ESP32C3 | ||||
| #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 defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) || defined(USE_ESP32_VARIANT_ESP32C3) | ||||
| #if ARDUINO_USB_CDC_ON_BOOT | ||||
|         this->hw_serial_ = &Serial; | ||||
|         Serial.setTxTimeoutMs(0);  // workaround for 2.0.9 crash when there's no data connection | ||||
| @@ -291,7 +287,7 @@ void Logger::pre_setup() { | ||||
|         this->hw_serial_ = &Serial; | ||||
|         Serial.begin(this->baud_rate_); | ||||
| #endif  // ARDUINO_USB_CDC_ON_BOOT | ||||
| #endif  // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3 | ||||
| #endif  // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3 || USE_ESP32_VARIANT_ESP32C3 | ||||
|         break; | ||||
| #endif  // USE_ESP32 && (USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3 || USE_ESP32_VARIANT_ESP32C3) | ||||
| #ifdef USE_RP2040 | ||||
|   | ||||
| @@ -45,9 +45,10 @@ enum UARTSelection { | ||||
|   UART_SELECTION_UART2, | ||||
| #endif  // !USE_ESP32_VARIANT_ESP32C3 && !USE_ESP32_VARIANT_ESP32C6 && !USE_ESP32_VARIANT_ESP32S2 && | ||||
|         // !USE_ESP32_VARIANT_ESP32S3 && !USE_ESP32_VARIANT_ESP32H2 | ||||
| #if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) | ||||
| #if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) || \ | ||||
|     (defined(USE_ESP32_VARIANT_ESP32C3) && defined(USE_ARDUINO)) | ||||
|   UART_SELECTION_USB_CDC, | ||||
| #endif  // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3 | ||||
| #endif  // USE_ESP32_VARIANT_ESP32S2 || USE_ESP32_VARIANT_ESP32S3 || USE_ESP32_VARIANT_ESP32C3 | ||||
| #if defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32S3) || \ | ||||
|     defined(USE_ESP32_VARIANT_ESP32H2) | ||||
|   UART_SELECTION_USB_SERIAL_JTAG, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user