Log in

View Full Version : Error


msulaimain
09-02-2012, 08:46
Hi, I have the following error displayed on the driver station when teleop is enabled:

ERROR: A timeout has been exceeded: RobotDrive...Output not updated often enough. ...in Check() in c:/Windriver/workspace/WPILib/MotorSafetyHelper.cpp at line 123

I am using the SimpleRobot example and I also used the following code as well and received the same result:

#include "WPILib.h"

class Robot : public IterativeRobot

{
RobotDrive myRobot;
Jaguar ballpicker;
Joystick leftStick; // left joystick in USB 1 of the DS
Joystick rightStick; // and right JS is in USB 2 of the DS
Solenoid sol1;
Solenoid sol2;
Compressor compress;

public:
Robot():
myRobot(1,2), // Drive Motors

ballpicker(3), // Motor That Picks Up Balls

leftStick(1),
rightStick(2),

sol1(2,1), // MIGHT HAVE TO CHANGE FIRST COORDINATE BECUASE MODULES-
sol2(2,2), // HAVE CHANGED THIS YEAR!!!

compress(1,1)
{
// Any Constructor Code Here...
}

void TeleopInit()
{
GetWatchdog().SetEnabled(true);
compress.Start();
}

void TeleopPeriodic()
{
GetWatchdog().Feed();
myRobot.ArcadeDrive(leftStick); // Arcade Style--> Left Stick

if (leftStick.GetRawButton(3))
{
ballpicker.Set(0.1); // --> If Button 3-->Input-->10% Power
}

else
{
ballpicker.Set(0.0); // --> If Button 3-->No Input-->No Power
} // Left Stick Is For Driver/Ball Picker Up'er

if(rightStick.GetTrigger()) // Right Stick Is For Shooter
{
sol1.Set(true); // --> If Right Trigger-->Input-->Valve 1-->True
sol2.Set(false); // --> Valve 2-->False
}

else
{
sol1.Set(false); // --> If Right Trigger-->No Input-->Valve 1-->False
sol2.Set(true); // --> Valve 2-->True
}

Wait(0.005); // --> Allows Time for Motor Refresh/Update

}

};

START_ROBOT_CLASS(Robot);


I don't see any errors in my code and have had it checked by another individual as well.

Please help.

Thank You.

Alan Anderson
10-02-2012, 00:08
Is the robot working as expected despite the displayed error?

Andy Brockway
10-02-2012, 10:33
We also have this problem. When we have it all the pwms associated with the RobotDrive are disabled. All others work.

We have used feeding the watchdog as a work around. The MotorSafety true/false has not been a solution. I still cannot directly use those pwms without allocation errors and it does not work in my autonomous section. What we don't know is why this year's version of Windriver/robot image cannot use last year's code on the robot.