Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   Help with PSoC board programming please (http://www.chiefdelphi.com/forums/showthread.php?t=85676)

krudeboy51 12-10-2010 15:59

Re: Help with PSoC board programming please
 
another problem is when i use

Quote:

DriverStationEnhancedIO &dsio = DriverStation::GetInstance()->GetEnhancedIO();
i get the warning that "dsio" is an undeclared variable

any one knows how to fix this problem?

EricVanWyk 12-10-2010 16:08

Re: Help with PSoC board programming please
 
Try it without the "&" character.

krudeboy51 12-10-2010 16:22

Re: Help with PSoC board programming please
 
i did that but I build it, i get an error this time

Radical Pi 13-10-2010 17:40

Re: Help with PSoC board programming please
 
You're probably trying to use the variable outside of the scope it was declared. Is that code from your init function?

krudeboy51 14-10-2010 22:30

Re: Help with PSoC board programming please
 
I do not know what do you mean by init code?, I put it under teleoperated

Radical Pi 15-10-2010 16:45

Re: Help with PSoC board programming please
 
init as in the constructor function (possibly called RobotDemo)

Can you post your full code? Also does it say the error is on the same line as the line you posted?

krudeboy51 20-10-2010 11:20

Re: Help with PSoC board programming please
 
#include "WPILib.h"
#include "DriverStation.h"
//#include "Vision/HSLImage.h"
//#include "Vision/AxisCamera.h"

/*
* This is a demo program showing the use of the RobotBase class.
* The SimpleRobot 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.
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////
/// CLASS ///

class RobotDemo : public SimpleRobot
{
Victor *VictorPair1, *VictorPair2;
RobotDrive *myRobot; // robot drive system
Joystick *RightStick, *LeftStick, *ThirdStick; // only joystick
DriverStation *ds, *dsio; // driver station
Servo *Left_GearServo, *Right_GearServo;
Victor *Dribbler, *CamKicker, *Winch;
DigitalInput *limitSwitchB, *AutoSwitch1, *AutoSwitch2, *AutoSwitch3, *Swltch;
Relay *ArmRelease;
// AxisCamera *camera;

//////////////////////////////////////////////////////////////////////////////////////////////////////
/// PUBLIC ///

public:

RobotDemo(void)
{
VictorPair1 = new Victor(1);
VictorPair2 = new Victor(2);
ds = DriverStation::GetInstance();
myRobot = new RobotDrive(VictorPair1, VictorPair2); // create robot drive base


RightStick = new Joystick(1);// create the joysticks
LeftStick = new Joystick(2);
ThirdStick = new Joystick(3);


AutoSwitch1 = new DigitalInput(1);
AutoSwitch2 = new DigitalInput(2);
AutoSwitch3 = new DigitalInput(3);
limitSwitchB = new DigitalInput(7);



Left_GearServo = new Servo(3);
Right_GearServo = new Servo(4);


Dribbler = new Victor(5);
CamKicker = new Victor(6);
Winch = new Victor(7);


ArmRelease = new Relay(1);



GetWatchdog().SetExpiration(100);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////
/// AUTONOMOUS FIRST ZONE ///

void Autonomous(void)
{
GetWatchdog().SetEnabled(false);

{
{
Right_GearServo->Set(127);
Left_GearServo->Set(127);
}


if (AutoSwitch1->Get()== 1)
{
{
myRobot->Drive(-0.5, 0.0);
Dribbler->Set(1.0);
Wait(1.5);
myRobot->Drive(0.0, 0.0);
CamKicker->Set(-1.0);
Wait(1.0);
CamKicker->Set(0.0);
Dribbler->Set(0.0);
while(limitSwitchB->Get()== 0)
{
CamKicker->Set(-1.0);
}
}
if (limitSwitchB->Get()== 1)
{
CamKicker->Set(0.0);
}
};
////////////////////////////////////////////////////////////////////////////////////////
//////SECOND ZONE/////

if (AutoSwitch2->Get()==1)
{
{
myRobot->Drive(-0.30, 0.0);
Dribbler->Set(1.0);
Wait(2.6);
myRobot->Drive(0.0, 0.0);
CamKicker->Set(-1.0);
Wait(1.0);
CamKicker->Set(0.0);
Dribbler->Set(0.0);
while(limitSwitchB->Get()== 0)
{
CamKicker->Set(-1.0);
}
}
if (limitSwitchB->Get()== 1)
{
CamKicker->Set(0.0);
}
{
myRobot->Drive(-0.30, 0.0);
Dribbler->Set(1.0);
Wait(1.2);
myRobot->Drive(0.0, 0.0);
CamKicker->Set(-1.0);
Wait(1.0);
CamKicker->Set(0.0);
Dribbler->Set(0.0);
while(limitSwitchB->Get()== 0)
{
CamKicker->Set(-1.0);
}
}
if (limitSwitchB->Get()== 1)
{
CamKicker->Set(0.0);
}

};
////////////////////////////////////////////////////////////////////////////////
//////THIRD ZONE//////
if (AutoSwitch3->Get()== 1)
{
{
myRobot->Drive(-0.30, 0.0);
Dribbler->Set(1.0);
Wait(1.3);
myRobot->Drive(0.0, 0.0);
CamKicker->Set(-1.0);
Wait(1.0);
CamKicker->Set(0.0);
Dribbler->Set(0.0);
while(limitSwitchB->Get()== 0)
{
CamKicker->Set(-1.0);
}
}
if (limitSwitchB->Get()== 1)
{
CamKicker->Set(0.0);
}
{
myRobot->Drive(-0.30, 0.0);
Dribbler->Set(1.0);
Wait(1.2);
myRobot->Drive(0.0, 0.0);
CamKicker->Set(-1.0);
Wait(1.0);
CamKicker->Set(0.0);
Dribbler->Set(0.0);
while(limitSwitchB->Get()== 0)
{
CamKicker->Set(-1.0);
}
}
if (limitSwitchB->Get()== 1)
{
CamKicker->Set(0.0);
}
{
myRobot->Drive(-0.30, 0.0);
Dribbler->Set(1.0);
Wait(1.3);
myRobot->Drive(0.0, 0.0);
CamKicker->Set(-1.0);
Wait(1.0);
CamKicker->Set(0.0);
Dribbler->Set(0.0);
while(limitSwitchB->Get()== 0)
{
CamKicker->Set(-1.0);
}
}
if (limitSwitchB->Get()== 1)
{
CamKicker->Set(0.0);
}
{
myRobot->Drive(1.0, 0.0);
Wait(0.5);
myRobot->Drive(0.0, 0.0);
}




}

};
};



//////////////////////////////////////////////////////////////////////////////////////////////
/// OPERATOR CONTROL ///
void OperatorControl(void)
{

GetWatchdog().SetEnabled(false);
//GetWatchdog().Feed();
DriverStationEnhancedIO &dsio = DriverStation::GetInstance()->GetEnhancedIO();





/* while (IsOperatorControl())
{
AxisCamera &camera = AxisCamera::GetInstance();
camera.WriteResolution(AxisCamera::kResolution_640 x480);
camera.WriteCompression(20);
camera.WriteBrightness(0);
}*/
// Assume that the THIRDSTICK THROTTLE is initially set at 100% (max)
// float Max_DribblerSpeed = ThirdStick->GetThrottle();

/////////////////////////////////////////////////////////////////////////////////////////////
/// Robot Drive ///

while (IsOperatorControl())
{
myRobot->TankDrive(RightStick, LeftStick);

///////////////////////////////////////////////////////////////////////////////////////////
/// Dribbler Control ///

if (ThirdStick->GetRawButton(2))
{
Dribbler->Set(1.0);
};


//////////////////////////////////////////////////////////////////////////////////////////
/// ARM CONTROL ///

/// ARM RELEASE ///

if (ThirdStick->GetRawButton(6))
{
ArmRelease->Set(Relay::kForward);
Winch->Set(0.0);
Dribbler->Set(0.0);
CamKicker->Set(0.0);
}
else if (ThirdStick->GetRawButton(7))
{
ArmRelease->Set(Relay::kReverse);
Winch->Set(0.0);
Dribbler->Set(0.0);
CamKicker->Set(0.0);
}
else
{
ArmRelease->Set(Relay::kOff);
}

/// WINCH ///

if (ThirdStick->GetRawButton(11))
{
Winch->Set(1.0);
CamKicker->Set(0.0);
Dribbler->Set(0.0);
ArmRelease->Set(Relay::kOff);
}
else if (ThirdStick->GetRawButton(10))
{
Winch->Set(-1.0);
CamKicker->Set(0.0);
Dribbler->Set(0.0);
ArmRelease->Set(Relay::kOff);
}
else
{
Winch->Set(0.0);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////
/// CAMKICKER && LIMITSWITCH-B ///

if(ThirdStick-> GetRawButton(4))
{
while (limitSwitchB->Get()== 0)
{
CamKicker->Set(-1.0);
Dribbler->Set(0.0);
Winch->Set(0.0);
ArmRelease->Set(Relay::kOff);
}
CamKicker->Set(0.0);
}


if (ThirdStick->GetTrigger() && (limitSwitchB->Get()== 1))
{
CamKicker->Set(-1.0);
Winch->Set(0.0);
Dribbler->Set(0.0);
ArmRelease->Set(Relay::kOff);

if (limitSwitchB->Get() == 0)
{
CamKicker->Set(0.0);
}
}


/////////////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////////////////
/// GEAR CONTROL ///

if ( (LeftStick->GetTrigger()) )
{
Left_GearServo -> Set(127);
Right_GearServo -> Set(127);
};

if ( (RightStick->GetTrigger()) )
{
Left_GearServo ->Set(-127);
Right_GearServo ->Set(-127);
};

};
};
};


START_ROBOT_CLASS(RobotDemo);

Radical Pi 20-10-2010 17:19

Re: Help with PSoC board programming please
 
You're defining dsio twice in your program. At the top of the file it is declared as a DriverStation*. Remove that (leave ds in there though) at it should build.

krudeboy51 21-10-2010 19:54

Re: Help with PSoC board programming please
 
Yea, but even when I take it out of class, i get the same warning


All times are GMT -5. The time now is 14:24.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi