Saltar a contenido
← Volver a OPRobots.org

Sistema de Debug

IRTimer no tiene un sistema de debug estructurado con modos. La depuración se apoya en LEDs de estado, salida serie, y la interfaz web para monitorizar el estado del sistema.

LEDs de Información

Cada módulo tiene 2 LEDs NeoPixel WS2812B accesibles vía set_led(), clear_led(), blink_led(), y rainbow_led().

Modo Main (Host + LineFollower)

LED Índice Color Significado
Power RGB_POWER (0) Verde fijo Batería OK
Power RGB_POWER (0) Rojo parpadeante Batería baja (< 3.7 V)
Connection RGB_CONNECTION (1) Azul fijo WiFi conectado
Connection RGB_CONNECTION (1) Rojo fijo WiFi fallido
Connection RGB_CONNECTION (1) Arcoíris Conectando / transición

Modo Aux (Paredes de Micromouse)

LED Índice Color Significado
Power RGB_POWER (0) Verde fijo Batería OK
Power RGB_POWER (0) Rojo parpadeante Batería baja (< 3.7 V)
Connection RGB_CONNECTION (1) Verde fijo Pared START
Connection RGB_CONNECTION (1) Rojo fijo Pared FINISH

Control de LEDs

utils.cpp:54-112

Función Descripción
set_led(led, r, g, b) Color sólido
clear_led(led) Apagar LED
blink_led(led, r, g, b, ms) Parpadeo con período ms
rainbow_led(led) Efecto arcoíris continuo

El arcoíris avanza en pasos de 20 unidades cada 30 ms, ciclando R→G→B. Las funciones blink_led() y rainbow_led() requieren ser llamadas periódicamente desde el bucle principal para actualizar la animación.


Salida Serie

Parámetro Valor
Interfaz USB-CDC
Baudrate 115200
Formato 8N1

La salida serie se usa para logging durante el desarrollo. Los mensajes se emiten con Serial.print() / Serial.println() en puntos clave:

Ubicación Mensaje
config_setup() "setPixelColor" (debug NeoPixel)
web_setup() "Connect to WiFi: SSID"
web.cpp "Web Server Start", "SERVER STARTED"
client.cpp (aux) "Failed to send Start Signal"
stopwatch.cpp (aux) Mensajes de depuración del sensor
config.cpp (aux) "Wall Start/Finish"

Interfaz Web como Debug

La pantalla WIFI_INFO muestra datos de conexión en tiempo real:

Campo Función
IP web_get_ip()
MAC web_get_mac()
Canal web_get_channel()
Estado web_get_status()

La interfaz web también sirve como debug visual: el overlay muestra el estado del cronómetro, tiempos de vuelta, y eventos (start/stop/lap/reset) en tiempo real.


Monitorización de Batería

El LED de Power parpadea en rojo cuando la batería baja de 3.7 V. La comprobación se hace en cada iteración de loop() vía control_manage_battery() (módulo principal) o manage_battery() (módulo auxiliar).

control.cpp:140-172


Documento generado el 2026-06-29. Ver también Menú, Batería y LEDs, Arquitectura Software.