ESPHome 2026.3.0
Loading...
Searching...
No Matches
logger_rp2040.cpp
Go to the documentation of this file.
1#ifdef USE_RP2040
2#include "logger.h"
4#ifdef USE_RP2040_CRASH_HANDLER
6#endif
7#include "esphome/core/log.h"
8
9namespace esphome::logger {
10
11static const char *const TAG = "logger";
12
13void Logger::pre_setup() {
14 if (this->baud_rate_ > 0) {
15 switch (this->uart_) {
17 this->hw_serial_ = &Serial1;
18 Serial1.begin(this->baud_rate_);
19 break;
21 this->hw_serial_ = &Serial2;
22 Serial2.begin(this->baud_rate_);
23 break;
25 this->hw_serial_ = &Serial;
26 Serial.begin(this->baud_rate_);
27 break;
28 }
29 }
30 global_logger = this;
31 ESP_LOGI(TAG, "Log initialized");
32#ifdef USE_RP2040_CRASH_HANDLER
34#endif
35}
36
37void HOT Logger::write_msg_(const char *msg, uint16_t len) {
38 // Single write with newline already in buffer (added by caller)
39 this->hw_serial_->write(msg, len);
40}
41
42const LogString *Logger::get_uart_selection_() {
43 switch (this->uart_) {
45 return LOG_STR("UART0");
47 return LOG_STR("UART1");
48#ifdef USE_LOGGER_USB_CDC
50 return LOG_STR("USB_CDC");
51#endif
52 default:
53 return LOG_STR("UNKNOWN");
54 }
55}
56
57} // namespace esphome::logger
58#endif // USE_RP2040
UARTSelection uart_
Definition logger.h:358
void write_msg_(const char *msg, uint16_t len)
const LogString * get_uart_selection_()
void pre_setup()
Set up this component.
@ UART_SELECTION_USB_CDC
Definition logger.h:116
@ UART_SELECTION_UART0
Definition logger.h:107
@ UART_SELECTION_UART1
Definition logger.h:111
Logger * global_logger
Definition logger.cpp:278
void crash_handler_log()
Log crash data if a crash was detected on previous boot.
std::string size_t len
Definition helpers.h:892