hi! I am getting errors on eclipse under the robot.cpp… the following strings are having errors
-class Robot: public Robot
-while (IsOperatorControl() && IsEnabled())
-class Robot: public SampleRobot
I tried creating a new project and paste code into new project… but I get all the same errors. am I the only one?
forward declaration of ‘class Robot’ for the “class Robot: public Robot”
'Robot::Robot" has the same name as the class in which it is declared for “Class Robot: public SampleRobot”
2 errors for while (isOperatorControl () && IsEnabled())
-‘IsEnabled’ was not declared in this scope
-‘IsOperatorControl’ was not declared in this scope
class Robot: public Robot isn’t a line of code I see when I create a new C++ project, only class Robot: public SampleRobot. I think that might be your problem. Can you copy and paste all of your code so that we can take a look at it, please?
This is a demo program showing the use of the RobotDrive class.
The SampleRobot class is the base of a robot application that will automatically call your
Autonomous and OperatorControl methods at the right time as controlled by the switches on
the driver station or the field controls.
WARNING: While it may look like a good choice to use for your code if you’re inexperienced,
don’t. Unless you know what you are doing, complex code will be much more difficult under
this system. Use IterativeRobot or Command-Based instead if you’re new.
*/
class Robot: public Robot
{
RobotDrive myRobot; // robot drive system
Joystick stick; // only joy stick
Joystick stick2;
TalonSRX talon;
public:
Robot() :
myRobot(0, 1), // these must be initialized in the same order
stick(0), // as they are declared above.
stick2(1),
talon(2)
{
myRobot.SetExpiration(0.1);
}
/**
* Drive left & right motors for 2 seconds then stop
*/
void Autonomous()
{
myRobot.SetSafetyEnabled(false);
myRobot.Drive(-0.5, 0.0); // drive forwards half speed
Wait(2.0); // for 2 seconds
myRobot.Drive(0.0, 0.0); // stop robot
}
/**
* Runs the motors with arcade steering.
*/
void OperatorControl()
{
myRobot.SetSafetyEnabled(true);
while (IsOperatorControl() && IsEnabled())
{
myRobot.TankDrive(stick, stick2); // drive with arcade style (use right stick)
Wait(0.005); // wait for a motor update time
talon.Get();
if(stick.GetRawButton(1)){
talon.Set(1);
}else{
talon.Set(0);
}
}
};
/**
* Runs during test mode
*/
#include "WPILib.h"
/**
This is a demo program showing the use of the RobotDrive class.
The SampleRobot class is the base of a robot application that will automatically call your
Autonomous and OperatorControl methods at the right time as controlled by the switches on
the driver station or the field controls.
WARNING: While it may look like a good choice to use for your code if you’re inexperienced,
don’t. Unless you know what you are doing, complex code will be much more difficult under
this system. Use IterativeRobot or Command-Based instead if you’re new.
*/
class Robot: public SampleRobot
{
RobotDrive myRobot; // robot drive system
Joystick stick; // only joy stick
Joystick stick2;
TalonSRX talon;
public:
Robot() :
myRobot(0, 1), // these must be initialized in the same order
stick(0), // as they are declared above.
stick2(1),
talon(2)
{
myRobot.SetExpiration(0.1);
}
/**
* Drive left & right motors for 2 seconds then stop
*/
void Autonomous()
{
myRobot.SetSafetyEnabled(false);
myRobot.Drive(-0.5, 0.0); // drive forwards half speed
Wait(2.0); // for 2 seconds
myRobot.Drive(0.0, 0.0); // stop robot
}
/**
* Runs the motors with arcade steering.
*/
void OperatorControl()
{
myRobot.SetSafetyEnabled(true);
while (IsOperatorControl() && IsEnabled())
{
myRobot.TankDrive(stick, stick2); // drive with arcade style (use right stick)
Wait(0.005); // wait for a motor update time
talon.Get();
if(stick.GetRawButton(1)){
talon.Set(1);
}else{
talon.Set(0);
}
}
}
/**
* Runs during test mode
*/
void Test()
{
}
Ahhh… It looks to me like you have two Robot objects in the same project. The program should only have one Robot object. Try removing all of the code related to class Robot: public SampleRobot. In other words, delete all code above
wow… I think when I first had errors I pasted the first code into the same code instead of selecting it all… I thought it was longer then it should be… thanks E DAWG