Saltar a contenido
← Volver a OPRobots.org

Debug

FujitoraBot2 dispone de un sistema de debug por UART/USART3 con múltiples modos de visualización y un buffer de telemetría (MacroArray) para análisis post-carrera.

Comunicación UART

Característica Detalle
Periférico USART3
Pines PB10 (TX), PB11 (RX)
Baudrate 115200
Formato 8N1
Redirección printf_write() → USART3

La redirección de printf se implementa en usart.c sobrescribiendo _write().

Modos de debug

Los modos se seleccionan desde el menú Config → Debug. Cada modo muestra datos en tiempo real por UART:

ID Modo Descripción
0 DEBUG_NONE Sin salida
1 DEBUG_MACROARRAY Vuelca el buffer de telemetría
2 DEBUG_TYPE_SENSORS_RAW Lecturas crudas de los 24 sensores
3 DEBUG_TYPE_SENSORS_CALIBRATED Lecturas calibradas de los 24 sensores
4 DEBUG_TYPE_LINE_POSITION Posición de línea calculada
5 DEBUG_TYPE_MOTORS PWM y velocidades de motores
6 DEBUG_TYPE_ENCODERS Lecturas de encoders y odometría
7 DEBUG_TYPE_DIGITAL_IO Estado de entradas/salidas digitales
8 DEBUG_TYPE_CORRECCION_POSICION Corrección de posición (error, voltajes)
9 DEBUG_TYPE_LEDS_PARTY Demo de LEDs
10 DEBUG_TYPE_FANS_DEMO Demo de ventilador

MacroArray

Buffer circular de telemetría que almacena variables durante la carrera para su análisis posterior:

Capacidad 30 000 registros
Duración máxima ~30 s a 1 kHz
Formato Entradas de tamaño variable con timestamp
Salida Plot (separado por \n) o Tabs (separado por \t)

Datos registrados en carrera

Cada iteración del lazo de control almacena 9 valores:

[timestamp, target_speed, ideal_speed, measured_speed,
 line_position, linear_voltage, angular_voltage,
 pwm_left, pwm_right, battery_voltage]

El buffer se vuelca por UART con el modo DEBUG_MACROARRAY tras la carrera para análisis con herramientas externas (Serial Plotter, hojas de cálculo).

Canales alternativos

Existen canales adicionales comentados en el código para activar según necesidad de diagnóstico:

  • Canal 1: error de sensores de línea + voltaje angular
  • Canal 4: velocidad lineal, angular + posición cartesiana (X, Y)

LEDs de estado

LED Color Significado
Status Azul Estado general (heartbeat, warning)
RGB RGB Información contextual del menú y carrera
Info 0–9 Azul Indicadores de modo y configuración

El LED RGB se apaga completamente (set_RGB_color(0,0,0)) al iniciar la carrera para no interferir con los sensores IR.


Documento generado el 2026-06-25. Ver también Menú, Control PID.