CAN Jaguar error

I did a search, but couldn’t find anyone who had the same error # we encountered. This is our exact error:

Error: status == -44087 (FFFF53C9) in getTransaction() in C:/windriver/workspace/WPILib/CANJaguar.cpp at line 425

We’re running image v27 with the Black Jaguar Serial Bridge plugin.

Any help would be much appreciated.

Here is the initialization code for the CAN Jaguars:

 CANJaguar *leftJag;// CAN attached Jag for the Left1 motor **** 3
	CANJaguar *rightJag;// CAN attached Jag for the Right1 motor **    2
        CANJaguar *leftJag2;// 								    4
	CANJaguar *rightJag2;// 							    5

        leftJag = new CANJaguar(3);		
	rightJag = new CANJaguar(2);	
	leftJag2 = new CANJaguar(4);
	rightJag2 = new CANJaguar(5);

We are currently using the TankDrive() function to run drive the motors.

Well, you’ll need to post some of your code. At least the portions of it that deal with CAN. Usually, this means your code creates a CANJaguar with a number that isn’t on the actual robot.

I updated my original post with the pertinent robot code.

Sadly, this doesn’t help much by itself.
You’re sure that all the jaguars are present and hooked up to the robot?

Yes, all the Jaguars have the correct ID numbers and are on the robot. Something I should have noted earlier is the fact that the error doesn’t prevent the robot from working. The robot still drives, it just has some jitters whenever this error occurs, which is usually sparse enough to not be an issue. There have been times where they have popped up about once a second, which then made it impossible to drive.

    static final int ERR_JaguarCANDriver_TimedOut	=	-44087;

This could be an issue with the terminators on your CAN bus.


We had the same problem. You are sending too much signal to the Jaguar, and the CAN Bus is lagging trying to handle it all.

Set your Wait() time in your main loop to 0.05 seconds. If that doesn’t work, try 0.1. That should slow it down enough to process all the data.

Thank you for your responses. I’ll finally have a chance to check our terminator plug tonight since its our first build day this week. The wait time suggestion also sounds like a very good idea. I’ll test both of these tonight and give an update.

I figured out that the issue was caused by running the smart dashboard because it took extra time to send the data to the dashboard. I simply commented out the dashboard code and the original wait time worked well. I might be able to modify the wait time for using the dashboard or set up a semaphore system, but it works well enough for now. Thanks for the help!