-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Open
Description
Summary
When using VESC Tool to flash firmware over a TCP bridge that forwards messages to the CAN bus, the firmware upload appears to complete successfully, but the new firmware is not applied — the old firmware still runs after reboot.
Setup
- Host: VESC Tool (release 6.05)
- Bridge: repo ESP32-S3 running a TCP server that :
- Accepts incoming UART-formatted packets over TCP
- Extracts data from the packets
- Forwards inner command over CAN to correct ID - I've copied the code from the vesc and vesc-tool.
- Wraps CAN responses back into uart packets
- Target: VESC 6 (via CAN) running firmware 6.05
What works:
- Reading motor/app config over CAN
- Live data
- Writing/applying config
What doesn't work:
- Flashing new firmware via CAN over TCP
- VESC Tool shows flashing as successful, but on reboot, firmware version remains unchanged
- USB flashing works fine
Observations
- All CAN commands are forwarded correctly
- All chunks appear to be sent
- The VESC reboots, but doesn't apply the firmware, no LED status codes
Repro Steps
- Connect VESC Tool to the bridge via TCP
- Select target ID
- Flash firmware from VESC Tool
- Wait for reboot — firmware version doesn't change
Ask
Could you clarify:
- Any required response format or timing for firmware flashing over CAN except the commands sent from the VESC_TOOL?
- What minimal sequence is required to guarantee flashing is committed?
Thanks for your work — everything else over CAN works perfectly!
Metadata
Metadata
Assignees
Labels
No labels