We are having a problem with this years RobotDrive. When using the four channel input constructor the motor controllers don’t work. We are using four jaguars and when we deploy the below code, they never work. The jaguar status lights just blink when the code is reloaded.
We are instantiating a RobotDrive like this:
*RobotDrive * drive;
drive = new RobotDrive(1,2,3,4);*
and then in our main code:
drive->TankDrive(leftJoystick,rightJoystick);
HOWEVER,if re-compile with this:
drive = new RobotDrive(1,2);
The two jaguars and motors hooked up to channels one and two work.
Also using the example code that ships with WindRiver this year, we can get a RobotDrive instantiated like this working:
*
RobotDrive drive(1,2,3,4);*
Has anyone else seen a bug like this? Are we doing something wrong?
So we figured this out this weekend. It was a good lesson learned.
What ended up happening is we tried to write our own robotDrive, but ran into the same problems. We could instantiate 1,2 and 3 motor controllers (Jaguar Class) ok, but when we’d instantiate the fourth, the speed controllers would always act like there was no code running (the activity lights on them would just blink).
We used the debugger to verify the code was actually running and looping through our functions, which we confirmed it was. Then, we tried the same thing with victors and had no success with any number of Victors. We started to get suspicious.
We looked at our wiring and found that the digitial side car was UNPOWERED. The power from the Power Distribution board was unplugged. We plugged this in and all our code started working. I can only surmise that the digital I/O from the cRIO was enough to power the digital sidecar with up to three jaguars but four was too much. EL-OH-EL.
I hope this helps anyone else with similar problems.