16 standardMessage(
"Starting UART communication diagnostic", __FILE__, __FUNCTION__, __DATE__, __TIME__);
21 standardHeaderFull(
"Completed UART diagnostic", __FILE__, __FUNCTION__, __DATE__, __TIME__);
37 Serial.println(
"📡 Diagnosing " + String(portName));
39 serialPort.begin(9600);
42 Serial.println(
"⌛ Waiting for data on " + String(portName) +
" for 3 seconds...");
44 unsigned long start = millis();
45 bool received =
false;
47 while (millis() - start < 3000) {
48 if (serialPort.available()) {
50 Serial.print(
"📥 Data received on ");
51 Serial.print(portName);
53 while (serialPort.available()) {
54 char c = serialPort.read();
63 Serial.println(
"🔻 No data detected on " + String(portName));
67 Serial.println(
"✅ End of diagnostic.\n");
76#if defined(HAVE_HWSERIAL1)
87#if defined(HAVE_HWSERIAL2)
void diagnoseUARTStream(HardwareSerial &serialPort, const char *portName)
Realiza un diagnóstico sobre un puerto UART específico.
void diagnoseSerial2()
Ejecuta diagnóstico sobre Serial2 (UART2), si está disponible.
void diagnoseSerial1()
Ejecuta diagnóstico sobre Serial1 (UART1), si está disponible.
void diagnoseAllUART()
Ejecuta diagnósticos en todos los puertos UART disponibles.
void standardMessage(const char *message, const char *file, const char *function, const char *date, const char *time)
Prints an enriched log message to the serial monitor.
void standardHeaderFull(const char *message, const char *file, const char *function, const char *date, const char *time, uint16_t width=120, char deco='-')
Prints a decorated header with centered text and padding on both sides.