ba3f927e8c7acf5dfcaf5ced672e7b8c327a5f81
El handler 'G' en loop() empeoraba el problema:
el bootloader del ESP32 manda basura que incluye bytes 0x47 ('G'),
lo que disparaba un handshake falso y dejaba espReady=true
antes de tiempo, permitiendo que mas basura del bootloader
ejecutase backward().
Ahora: solo waitForReady() hace el handshake al arrancar.
Si el ESP32 se cuelga y reinicia, el watchdog de 1.5s (millis())
para los motores. Cuando el ESP32 termina de arrancar, el usuario
puede volver a manejar normalmente.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
Coche teledirigido via web
Languages
HTML
40%
Python
25.9%
C
19%
C++
15.1%