Sorry i will post there but for the sake of perhaps using some of your expertise i will post the code here aswell can you take a look?
#include "WPILib.h"
//#DEFINE FIRST_SOLENOID 1
class RobotDemo : public SimpleRobot
{
RobotDrive myRobot; // robot drive system
Joystick stick; // only joystick
Victor Victor1;
Victor SFX_Shooter1_Victor3;
Victor SFX_Shooter2_Victor4;
Relay SFX_Loader_Victor5;
Relay SFX_Tiltmotor; //spike connected to motor
DigitalInput DigitalInput_High;
DigitalInput DigitalInput_Low;
/*
Solenoid Sole1;
Compressor Compress;
*/
//Solenoid Solenoid1;
float Shoot1_Victor3_float;
float Shoot2_Victor4_float;
float Loader_Victor5_float;
public:
RobotDemo(void):
myRobot(1, 2), // these must be initialized in the same order
stick(1), // as they are declared above.
Victor1(1),
SFX_Shooter1_Victor3(3),
SFX_Shooter2_Victor4(4),
SFX_Loader_Victor5(3),
SFX_Tiltmotor(1),
DigitalInput_High(1),
DigitalInput_Low(2),
//Solenoid1(3)
//Relay_Solenoid(2)
Sole1(4,4),
Compress(3,3)
{
myRobot.SetExpiration(0.1);
}
/**
* Drive left & right motors for 2 seconds then stop
*/
void Autonomous(void)
{
/*
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
*/
SFX_Shooter1_Victor3.Set(1.0);
SFX_Shooter2_Victor4.Set(1.0);
}
/**
* Runs the motors with arcade steering.
*/
void OperatorControl(void)
{
myRobot.SetSafetyEnabled(true);
Compress.Start();
while (IsOperatorControl())
{
myRobot.ArcadeDrive(stick); // drive with arcade style (use right stick)
//Victor1.Set(1.0);
//Shoot1_Victor3_float = 1.0;
//Activates shooter at full speed with button 1
if(stick.GetRawButton(1)== 1){
SFX_Shooter1_Victor3.Set(1.0);
SFX_Shooter2_Victor4.Set(1.0);
} else{
SFX_Shooter1_Victor3.Set(0.0);
SFX_Shooter2_Victor4.Set(0.0);
}
//Actvates loader at full speed with button 2
if(stick.GetRawButton(2)==1){
SFX_Loader_Victor5.Set(Relay::kOn);
}else{
SFX_Loader_Victor5.Set(Relay::kOff);
}
//Activates tilt in either forward or reverse dependant on button and sensor
if((stick.GetRawButton(4)==1)&& (DigitalInput_High.Get()==0)) {
SFX_Tiltmotor.Set(Relay::kForward);
//SFX_Tiltmotor.Set(Relay::kOn);
}else if((stick.GetRawButton(5)==1) && (DigitalInput_Low.Get()==0)) {
SFX_Tiltmotor.Set(Relay::kReverse);
//SFX_Tiltmotor.Set(Relay::kOn);
}
else{
SFX_Tiltmotor.Set(Relay::kOff);
}
/*
if(stick.GetRawButton(6)==1){
//Solenoid1.Set(True);
Relay_Solenoid.Set(Relay::kForward);
Relay_Solenoid.Set(Relay::kOn);
}else{
Relay_Solenoid.Set(Relay::kOff);
}*/
if(stick.GetRawButton(7)==1){
Sole1.Set(TRUE);
}else{
Sole1.Set(FALSE);
}
// link
//SFX_Shooter1_Victor3 = Shoot1_Victor3_float;
Wait(0.005); // wait for a motor update time
}
void Test() {
}
};
START_ROBOT_CLASS(RobotDemo);