CAN Jaguar Help

We are using a black jag to serial connection, and that is working. We have updated all of the firmware on the jaguars, firmware 92, and have updated the firmware on the crio, to version 28 and have set it to use the black jaguar as the start of the CAN. Yet no matter how we have done we cannot get the motors to run. On the driver station we get the error 44087- in set transaction() in C:/windriver/workspace/WPILIB/CANJaguar.cpp, which we found to be dataBuffer[0] = reference. Anyone know what the problem is, or do you have any code for CAN that we could see? Thanks!

Here is a fraction of our code which we are using for the CAN Jaguars:


//We defined:

CANJaguar *jag;

//Then in OperatorControl, we had:

jag = new CANJaguar(3, CANJaguar::kSpeed);
jag->ConfigEncoderCodesPerRev(360);
jag->ConfigMaxOutputVoltage(6.0);
jag->ConfigNeutralMode(CANJaguar::kNeutralMode_Brake);
jag->SetSpeedReference(CANJaguar::kSpeedRef_None);
jag->EnableControl();

//And in the IsOperatorControl() loop, we have:

jag->Set(0.5);

Hi Gang,

This error shows up if you have all of the Jaguars at the same CAN ID or you don’t have the terminators installed properly. If you used the approach that puts the resistor in the RJ-12, then make sure that your resistor legs haven’t shorted out because they’ve been plugged and unplugged too many times.

HTH,

Mike

We were able to fix the problem, turns out that we did not have the terminator on the black jaguar. Thanks for your help!

We seem to be having the same problem – but it only seems to happen occasionally, and usually when the robot is actually doing something.

We have a terminator, and we even replaced the one that we have. We also tried replacing some of our CAN cables, but we still get the error on occasion. Any thoughts why?

OK, this sounds like some bad cable connections where the cable wasn’t inserted all the way into the connector before it was crimped. But it could also be a termination problem or bad power wiring problem. With the robot on and the software in teleop mode (make sure the robot is up on blocks so it can’t actually move) and while the operator is moving the wheels back and forth, wiggle the CAN bus cables back and forth to see if you can get the CAN bus to go off line. You’ll know this because the Jaguar lights will go out.

Do the same for the power connections from the PDB to the jags. Just wiggle the wires at both ends to see if you’ve got an intermittent crimp or bad wago insertion. Again, you’ll know because the jaguar LEDs will go out. If that still doesn’t work, then assign one each of your team to watch the Jag LEDs on each of your jags as your drive around to see if any of them go out . Also, make sure that your battery voltage isn’t dipping too low. If you’re getting into the 6-7 volt range during the drive, then you need to recharge or get another battery.

HTH,

Mike

Mike, thanks for the helpful suggestions. Due to time constraints we weren’t able to try that out yesterday, but we’re keeping our electronics box back as part of our withholding allowance, so we’ll play with it soon and see what happens :slight_smile: