Left and Right Drive Motors Teleop Disabled error

Hi everyone,
We are using Labview and used the default code to start with. We have a 4-motor drive train with two Talon SRs controlling each side. When I tried to code another motor, even using a simple manual control where I type in an input, Teleop mode disables itself and we get an error text that says that an error occurred at the Left and Right drive motors: the loop contains too much code or something is starving the loop.

I’m wondering why this might be happening? We are able to use the drive motors but as soon as we try to send any input to the other motors on our robot, Teleop disables itself. We haven’t touched the default code at all in any way except adding one motor as a test.


It sounds like you added a While loop inside Teleop.

Did you perhaps copy one of the motor examples a little too closely? Read Tutorial 7—Integrating Examples into Robot Code. Briefly, the part of the example that you should put in Teleop is what is inside the loop, not the loop itself. The part to the left of the loop goes in Begin, and the part to the right goes in Finish.

It also sounds like you may be typing a number into a dashboard or VI panel. Keep in mind that if this same laptop is running the Driver Station software, that the enter/return key will disable the robot and space will estop an enabled robot.

So I suspect that you have two issues intertwined. If you will click away from a numeric, it will also take the new value – you don’t have to hit enter. Or you can use two laptops.

And I think you may have something that is causing teleOp to take more than 100ms to update the drive motor’s values, resulting in that warning message and the motors being set to zero power.

Greg McKaskle

Thanks for the quick reply. Here’s what I’ve done:

Motors are opened in the Begin VI, assigned reference names, and used the refnum set VI to send the name onwards. Then in Teleop, I have the refnum get VI wired to the motor output VI, and the same reference name given as in Begin.

This is exactly the same code we’ve used for previous years and had no problems. I don’t have anything inside “Finish”- it appears that Finish is just a true-false thing that I can’t actually open.

Any other thoughts? Our Teleop code contains no loops that we’ve made at all- currently just buttons sending inputs to motors using a selector.

Thanks for all your help!

Thanks! We were using a VI front panel first to test, and that was running the driver station, so that was definitely a source of problem. Will only use the button code now.

AS for the 100ms issue, can you think of anything that is new about this year’s robot main structure that is different from last years that might be causing this error? Our only difference this year compared to previous years is that we have a 4 motor drive train instead of 2. It is still a swerve drive, with both left motors going into PWM 0 using a 2-1 PWM cable, and the same for the right side with channel 1. Should we be using a 4-motor robot drive VI and plugging into 4 PWM cables? If so, how do we then get the two left and two rights to have the same input all the time?

Forgive my assumption. It sounds like you’re doing things right.

So now I’m not sure I understand what your robot is doing. Does it work okay until you press Enter? That would certainly disable it, as you should now know.

The “Left and Right Motors” error message means the robot isn’t setting the drive motors often enough. If it only happens once when the robot gets disabled, and doesn’t repeat continually, it probably isn’t going to affect the operation of the robot. But let’s keep looking for the cause anyway. Did you change anything in the Disabled vi? The default project sets the drive motors to zero in Disabled. If you removed that, you’ll get the error because the motors aren’t being set when the robot is disabled.

Gotcha. It disables teleop any time that I try to send an input to the motors, either via buttons or controls. The driving motors work all the time, though- all I have to do is reenable teleop and we can drive around. It’s just all the other motors on the bot- any time we send an input to them teleop disables and that same error is coming up.

Show us your code. Teleop in particular seems suspect, but we should also see Begin and Disabled.

Sorry for such a late reply. Here’s two screenshots. Begin has all our motors opened. Teleop has a screenshot of part of our button code. Couldn’t fit it all into one shot but the other buttons are coded exactly the same- a selector with an output of 1, 0, or -1 depending.

I don’t see anything in the programming that would make your robot disable itself. However, I do see something that probably isn’t what you want to do: you are invoking the Lift motor twice. I can’t be certain, but one of them seems to have an extra space character in front of it, but that ought to show up on the Driver Station as an error. It shouldn’t cause a disable, either. I also see a lot of oddly-run wires that don’t make clear what they’re connecting, and cleaning them up would help make the code easier to read.

Right now, I’m still unclear as to exactly what you are seeing. It sounds like you enable the robot, and you can drive it fine, but as soon you press any of the buttons to control a motor the robot gets disabled. Is that what is happening?

(I’m also wondering why you chose such a convoluted way of reading the individual joystick buttons. It would be a whole lot simpler to use an Index Array function, and I think it would be easier to read as well. But that’s not relevant to the current issue, and I won’t focus on it.)

So has anyone figured this problem out. We were having this problem with our robot while we were testing it before bag and tag and now the problem has carried over to our practice-bot. We are running the default program (Arcade Drive) for the roboRIO. We really need help because our team is being interviewed by a local TV station and they want to see the robot in action and we can’t provide that without this issue being resolved.

It seemed to me at first a problem with the roboRIO but I reimaged it and re flashed the firmware, so nothing wrong there. I have the same drive train as described by the OP but we are using Victor 888s instead of Talons. I would really appreciate nay help that anyone can give!

Thanks a lot!

Can you try to lay out exactly what is happening? Step through the problem describing what you’re doing on your driver station and what the robot does. Especially mention any error messages that show up or if the driver station changes from teleop to disable. Also post your code from begin.vi and teleop.vi

Thanks for your response.
As I said earlier this problem occurs when we try to run any program, even the default program. I will still post the begin and teleop that we are using. We get the error:

ERROR -44061 occurred at “Left and Right Motors” in the VI path: Robot Main.vi
FRC: The loop that contains RobotDrive is not running fast enough. This error can occur if the loop contains too much code, or if one or more other loops are starving the RobotDrive loop.

The motors don’t turn, but the camera works and RL and Status light show not errors. No errors with comm either, steady connection both over router, via USB and direct Ethernet connection. It worked briefly before, but now… nothing. I will continue to check the wiring, but I am almost 100% certain its the programming at this point.

Since you are using Victors 888, switch your drop down bar on your open motors from talon to victors.



I did that already, we were actually experimenting with talons yesterday so that is why i switched them.

The log files on your DS laptop will show when the errors occur and may help with the debugging.

I’d recommend putting the robot on blocks and using test mode to see if it can drive motors. This will help isolate the wiring issues for programming issues.

You put it in test mode using the DS, then in the dashboard, click to the test tab also. Sensors will read and display immediately. In the dashboard, you can select a motor’s value. It will have **s in its name. When selected, a slider and enable button will show up and you can set an output value and click the button.

Greg McKaskle

Hey guys so I finally found a resolution to this problem. I figured out that that exact error really does no inhibit the robot from driving. The real problem turned out to be faulty Victors, which we replaced with Talons. Plus there were some missing files in the roboRio’s bash and after reimaging and reinstalling the firmware we were able to get the robot moving. The error still pops up every time the robot moves, but it works and I am not really questioning it right now…

Thanks for all the help!