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.