-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CAN Communication Stops Responding to PINGs on VESC v6.05 (BETA 25) #792
Comments
The following is a part of the LISP code which handles CAN Frames
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description:
While using VESC firmware v6.05 (BETA 25), we encountered an issue where the CAN communication on the VESC becomes transmit-only under certain conditions. Specifically, the VESC controller continues to transmit telematics and LISP-triggered data, but it stops responding to PINGs issued from VESC Express or other CAN devices. This behavior renders the controller unresponsive to incoming CAN requests.
The issue resolves itself after performing a power cycle (resetting the controller), as no other interface is available due to the VESC App Configuration being set to ADC only.
Observations:
Termination Resistance: The CAN bus termination resistance was verified to be within limits (120 Ohms).
Power Cycle Dependency: Resetting the MCU via a power cycle restores communication, which suggests the issue is not with the wiring harness.
Reproducibility: The issue is reproducible if ridden for 20mins though the exact trigger conditions remain unclear.
Attempted Fixes:
Writing a LISP script to automatically update the CAN bus baud rate after detecting a loss of communication for 3 seconds did not resolve the issue. This approach was expected to stop and restart the CAN communication by saving and setting the application configurations.
Firmware/Software: This issue was observed on v6.05 (BETA 25) and has not yet been tested on the v6.05 release.
Potential Areas of Concern:
LISP Implementation: Could there be a LISP runtime-related issue causing the CAN driver to stop responding?
BLDC Firmware: Could a state in the BLDC firmware be locking or de-prioritizing incoming CAN communication?
ChibiOS (RTOS): Could there be a ChibiOS-related bug impacting the CAN driver or message prioritization?
Request for Assistance:
Debugging Steps:
What debugging strategies could help isolate the root cause in this scenario? Are there any logs or diagnostics within the firmware that could provide insight?
LISP Runtime: Could there be a conflict between LISP runtime execution and CAN driver operations?
Testing: Would testing on the v6.05 release be sufficient to rule out potential firmware bugs in the beta version?
Firmware Patch: Could a watchdog or an automatic CAN driver reset mechanism be implemented in the firmware to handle such cases?
Summary:
This issue affects critical communication over CAN and requires immediate resolution. Insights into debugging or workarounds would be greatly appreciated, especially in understanding whether the root cause lies within the firmware (LISP, BLDC code) or the underlying ChibiOS RTOS.
Looking forward to any suggestions or assistance.
The text was updated successfully, but these errors were encountered: