Three bugs blocked CAN forwarding when UART commands were received:
1. vesc_can_send_rpm had no g_twai_bus_off guard, flooding failed
twai_transmit calls during BUS_OFF/RECOVERING states.
2. Recovery only handled TWAI_STATE_BUS_OFF; RECOVERING and STOPPED
states were unhandled, leaving g_twai_bus_off=false while TWAI
was still unusable.
3. No startup delay after twai_start() — VESC not yet ready to ACK
caused immediate TEC runup to BUS_OFF at boot.
Fix: bus-off guard in send_rpm, full state machine in rx_task
(BUS_OFF→initiate, STOPPED→start, RECOVERING→wait), 200ms post-
start delay in vesc_can_init().
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>