mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Merge branch 'logger_esp8266_progmem' into memory_api
This commit is contained in:
		| @@ -279,7 +279,7 @@ void Logger::dump_config() { | ||||
|   ESP_LOGCONFIG(TAG, | ||||
|                 "  Log Baud Rate: %" PRIu32 "\n" | ||||
|                 "  Hardware UART: %s", | ||||
|                 this->baud_rate_, get_uart_selection_()); | ||||
|                 this->baud_rate_, LOG_STR_ARG(get_uart_selection_())); | ||||
| #endif | ||||
| #ifdef USE_ESPHOME_TASK_LOG_BUFFER | ||||
|   if (this->log_buffer_) { | ||||
|   | ||||
| @@ -226,7 +226,7 @@ class Logger : public Component { | ||||
|   } | ||||
|  | ||||
| #ifndef USE_HOST | ||||
|   const char *get_uart_selection_(); | ||||
|   const LogString *get_uart_selection_(); | ||||
| #endif | ||||
|  | ||||
|   // Group 4-byte aligned members first | ||||
|   | ||||
| @@ -190,20 +190,28 @@ void HOT Logger::write_msg_(const char *msg) { | ||||
| void HOT Logger::write_msg_(const char *msg) { this->hw_serial_->println(msg); } | ||||
| #endif | ||||
|  | ||||
| const char *const UART_SELECTIONS[] = { | ||||
|     "UART0",           "UART1", | ||||
| const LogString *Logger::get_uart_selection_() { | ||||
|   switch (this->uart_) { | ||||
|     case UART_SELECTION_UART0: | ||||
|       return LOG_STR("UART0"); | ||||
|     case UART_SELECTION_UART1: | ||||
|       return LOG_STR("UART1"); | ||||
| #ifdef USE_ESP32_VARIANT_ESP32 | ||||
|     "UART2", | ||||
|     case UART_SELECTION_UART2: | ||||
|       return LOG_STR("UART2"); | ||||
| #endif | ||||
| #ifdef USE_LOGGER_USB_CDC | ||||
|     "USB_CDC", | ||||
|     case UART_SELECTION_USB_CDC: | ||||
|       return LOG_STR("USB_CDC"); | ||||
| #endif | ||||
| #ifdef USE_LOGGER_USB_SERIAL_JTAG | ||||
|     "USB_SERIAL_JTAG", | ||||
|     case UART_SELECTION_USB_SERIAL_JTAG: | ||||
|       return LOG_STR("USB_SERIAL_JTAG"); | ||||
| #endif | ||||
| }; | ||||
|  | ||||
| const char *Logger::get_uart_selection_() { return UART_SELECTIONS[this->uart_]; } | ||||
|     default: | ||||
|       return LOG_STR("UNKNOWN"); | ||||
|   } | ||||
| } | ||||
|  | ||||
| }  // namespace esphome::logger | ||||
| #endif | ||||
|   | ||||
| @@ -2,8 +2,6 @@ | ||||
| #include "logger.h" | ||||
| #include "esphome/core/log.h" | ||||
|  | ||||
| #include <Arduino.h> | ||||
|  | ||||
| namespace esphome::logger { | ||||
|  | ||||
| static const char *const TAG = "logger"; | ||||
| @@ -37,12 +35,17 @@ void Logger::pre_setup() { | ||||
|  | ||||
| void HOT Logger::write_msg_(const char *msg) { this->hw_serial_->println(msg); } | ||||
|  | ||||
| static const char UART0_STR[] PROGMEM = "UART0"; | ||||
| static const char UART1_STR[] PROGMEM = "UART1"; | ||||
| static const char UART0_SWAP_STR[] PROGMEM = "UART0_SWAP"; | ||||
| static const char *const UART_SELECTIONS[] PROGMEM = {UART0_STR, UART1_STR, UART0_SWAP_STR}; | ||||
|  | ||||
| const char *Logger::get_uart_selection_() { return (const char *) pgm_read_ptr(&UART_SELECTIONS[this->uart_]); } | ||||
| const LogString *Logger::get_uart_selection_() { | ||||
|   switch (this->uart_) { | ||||
|     case UART_SELECTION_UART0: | ||||
|       return LOG_STR("UART0"); | ||||
|     case UART_SELECTION_UART1: | ||||
|       return LOG_STR("UART1"); | ||||
|     case UART_SELECTION_UART0_SWAP: | ||||
|     default: | ||||
|       return LOG_STR("UART0_SWAP"); | ||||
|   } | ||||
| } | ||||
|  | ||||
| }  // namespace esphome::logger | ||||
| #endif | ||||
|   | ||||
| @@ -51,9 +51,19 @@ void Logger::pre_setup() { | ||||
|  | ||||
| void HOT Logger::write_msg_(const char *msg) { this->hw_serial_->println(msg); } | ||||
|  | ||||
| const char *const UART_SELECTIONS[] = {"DEFAULT", "UART0", "UART1", "UART2"}; | ||||
|  | ||||
| const char *Logger::get_uart_selection_() { return UART_SELECTIONS[this->uart_]; } | ||||
| const LogString *Logger::get_uart_selection_() { | ||||
|   switch (this->uart_) { | ||||
|     case UART_SELECTION_DEFAULT: | ||||
|       return LOG_STR("DEFAULT"); | ||||
|     case UART_SELECTION_UART0: | ||||
|       return LOG_STR("UART0"); | ||||
|     case UART_SELECTION_UART1: | ||||
|       return LOG_STR("UART1"); | ||||
|     case UART_SELECTION_UART2: | ||||
|     default: | ||||
|       return LOG_STR("UART2"); | ||||
|   } | ||||
| } | ||||
|  | ||||
| }  // namespace esphome::logger | ||||
|  | ||||
|   | ||||
| @@ -29,9 +29,17 @@ void Logger::pre_setup() { | ||||
|  | ||||
| void HOT Logger::write_msg_(const char *msg) { this->hw_serial_->println(msg); } | ||||
|  | ||||
| const char *const UART_SELECTIONS[] = {"UART0", "UART1", "USB_CDC"}; | ||||
|  | ||||
| const char *Logger::get_uart_selection_() { return UART_SELECTIONS[this->uart_]; } | ||||
| const LogString *Logger::get_uart_selection_() { | ||||
|   switch (this->uart_) { | ||||
|     case UART_SELECTION_UART0: | ||||
|       return LOG_STR("UART0"); | ||||
|     case UART_SELECTION_UART1: | ||||
|       return LOG_STR("UART1"); | ||||
|     case UART_SELECTION_USB_CDC: | ||||
|     default: | ||||
|       return LOG_STR("USB_CDC"); | ||||
|   } | ||||
| } | ||||
|  | ||||
| }  // namespace esphome::logger | ||||
| #endif  // USE_RP2040 | ||||
|   | ||||
| @@ -54,7 +54,7 @@ void Logger::pre_setup() { | ||||
| #endif | ||||
|     } | ||||
|     if (!device_is_ready(uart_dev)) { | ||||
|       ESP_LOGE(TAG, "%s is not ready.", get_uart_selection_()); | ||||
|       ESP_LOGE(TAG, "%s is not ready.", LOG_STR_ARG(get_uart_selection_())); | ||||
|     } else { | ||||
|       this->uart_dev_ = uart_dev; | ||||
|     } | ||||
| @@ -77,9 +77,17 @@ void HOT Logger::write_msg_(const char *msg) { | ||||
|   uart_poll_out(this->uart_dev_, '\n'); | ||||
| } | ||||
|  | ||||
| const char *const UART_SELECTIONS[] = {"UART0", "UART1", "USB_CDC"}; | ||||
|  | ||||
| const char *Logger::get_uart_selection_() { return UART_SELECTIONS[this->uart_]; } | ||||
| const LogString *Logger::get_uart_selection_() { | ||||
|   switch (this->uart_) { | ||||
|     case UART_SELECTION_UART0: | ||||
|       return LOG_STR("UART0"); | ||||
|     case UART_SELECTION_UART1: | ||||
|       return LOG_STR("UART1"); | ||||
|     case UART_SELECTION_USB_CDC: | ||||
|     default: | ||||
|       return LOG_STR("USB_CDC"); | ||||
|   } | ||||
| } | ||||
|  | ||||
| }  // namespace esphome::logger | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user