Odd Jaguar runaway while DISABLED (2can)

For our shooter we are experiencing an extrememly odd issue. We are using last year’s 2CAN with the latest firmware (2.24). Regardless of our P constants while configured for speed control (quad encoder feedback with index pin floating), full forward, xor full reverse will cause the CIM motor to spin to full speed. Our I and D constants are 0. When the cRio is disabled, the jaguars begin to blink yellow indicating they are not receiving a heartbeat, however all motors caught in this runaway will continue to spin at full. A power cycle is required to clear this issue. If our robot is still enabled, we cannot change our setpoint to get out of this stuck position.

Thinking that it was some odd flaw in how we configured speed mode, we tried voltage mode. Same issues as speed control.

In th diagnostic tab in the driver station we get Error Code = 44087.

The exact error message is

<Code>-44087 ERROR:status = -44087 (0xFFFF53C9) sendMessage ...in setTransaction in C:/Windriver/Workspace/WpiLib/CANJaguar.cpp at line 409
FRC: JaguarCANDriver timed out waiting to receive a response from a Jaguar.

This issue has a 100% repeatability. We just hold the joystick in the full throttle position for maybe half a second, and a audible change is heard in the motor. After this point we cannot recover without power cycling. The motor will work, varying its speed as we command, as long as this does not occur.

We have a CAN Evaluation board so we can pull firmware off the jaguar. I verified the flashes against the downloaded flashes, and they were correct. I only downloaded over the CAN bus, I did not install a JTAG on the back.

It seems as though the Jaguar is not following the heartbeat, yet it is. The blinking yellow light indicates that they are disabled, however the motor spinning indicates it is not.

We used WPILib version 3111.

It really doesnt make any sense to us,
Any ideas? Thanks in advance.

This is with Jaguar firmware version 101? Have you tried swapping in a different Jaguar?

We did not try this as we are getting this error with 2 different jaguars, however it is worth noting that they are programmed in a similar manner. I do not have the most up to date code, so I cannot post it. The jaguars have an ID of 5 and 7.

Yes version 101. I had that written in my post but I seemed to have dropped it while editing my post. My apologies.

We can reproduce the same error on two different Jaguars both purchased this year… so while we have not switched out the Jaguars, we find it hard to think of any reason why doing that would make a difference. If we cannot think of anything to resolve it by tomorrow, we’ll try swapping them, but I highly doubt two Jaguars could fail in the exact same very, very strange manner at the same time… just doesn’t make sense.

I agree, it certainly sounds like a very serious firmware issue, but swapping the jags would confirm it.

We did 3 tests now. Our first was when both problem jaguars stopped responding to commands while in teleop enabled. Both jaguars stopped, IDs = 5 and 7. Our test was as follows:
Continue commanding an output to the motor with a joystick. The motor did not move.
We hit the user reset button on both.
Jaguar 7 started spinning again, 5 was motionless.
We reset 5 again, and 5 remained motionless after.
We power cycled and the problem was resolved.

Our second test occurred when jaguar 7 was commanding an output and we noticed the JaguarCANDriver crashed. When we commanded it to stop, the motor continued to spin.

We then unplugged ALL the CAN cables going into the problem jaguar. The status light began its slow yellow blink, but continued to spin the motor.

Our final test was when jaguar 7 entered a runaway. I then tried to press the user reset button, but there was no effect. It did not even blink as though it responded to the user reset. We looked on the 2CAN web interface and it reported no CAN bus errors, and the jaguar was reporting 0% throttle.

The motor almost sounds like it is being pulsed prior to it entering a problem state.

We are using kPercentVoltage, although we get errors in kVoltage and kSpeed mode.

Thanks for listing your steps. I will try and recreate the issue here.

Just so you know, the button on the Jaguar isn’t a reset switch. It is used to put the Jaguar in calibration mode or to reset the factory defaults if the button is pressed on power up. It does not reset the Jag when pressed in the middle of operation.

-David