Quote:
Originally Posted by Meshbeard
If I recall correctly, the issue that some teams were having with CANbus was when one jag had some sort of error and flooded the CAN network with error messages so commands from the controller couldn't get through. I think it was just an issue with the jags.
|
It's an issue with how WPILib deals, or doesn't deal rather, with a jag erroring out. If you keep trying to talk to the jag with messages that require an ACK you will have to keep waiting for the full timeout to not get one. Which will cause your code to slow down and throw motor safety errors which slow the code down further and...well you can see where this is going.
You can use the No-Ack versions of messages to help and/or add some intelligence in a class that wraps CAN Jag to prevent spamming messages to a jag that's not responding and to detect and re-initialize a jag that browns out if you are using anything other than the default mode.