Quote:
Originally Posted by apalrd
The older CAN Jaguars operated much differently, they used a synchronous message passing system which required roughly 2x the CAN bandwidth (all packets had a request and response). This also required the user code to wait for the response message. In my understanding, this was done because the Jaguar had a poor CAN firmware implementation and too many messages addressed to a single Jaguar too quickly could cause a CAN buffer overrun, so the user code had to wait for an ACK from that Jaguar before sending another message to it. This is not normal for CAN design.
|
This describes the original Jaguar protocol.
Asynch was added to the Jag firmware even before the switch to roboRIO. During the switch last year, the WPILib portions of CANJag (for sure for C++ and Java, and I think LV too) were rewritten to make them work like the CTRE hardware from a user perspective.