Log in

View Full Version : Programming Shooter C++


realslimschadey
11-02-2013, 15:33
I'm programming in c++ and i cant get the shooter to work. All i want it to do is when i press a button on the joystick, it runs the motor and if im not touching the button the motor doesnt run. How do i do this?:confused: :confused: :confused:

mrklempae
11-02-2013, 16:04
I have no idea what your setup is, but it would look something like this:
while (IsOperatorControl())
{
bool Button =joystick -> GetRawButton (3);
if (Button)
{
Motor1->Set(1);
}
else if (!Button)
{
Motor1->Set(0);
}
}

realslimschadey
11-02-2013, 16:53
The button is 2, and the motor is Shooter. Im still having problems

Arrowhead
11-02-2013, 17:35
Can you post your current code?

JCrusoe
11-02-2013, 18:13
Without your current code its hard to tell what the issue is, but I would make sure that you have it in the constructor correctly. I'm going guess that its a Jaguar, but it could easily be a Victor as well.

#include "WPILib.h"


class RobotDemo : public SimpleRobot
{

Jaguar shooter;

Joystick driveStick; //it can be any name, not strictly driveStick :)

public:
RobotDemo(void):

//JAGUARS//
shooter(1), //This is what port your shooter motor is in on the Sidecar

//JOYSTICKS// // These must be initialized in the same order
driveStick(1) // as they are declared above.

{

shooter.SetExpiration(0.1); //for Driver Station

}

void Autonomous(void)
{
//where your autonomous would go
}

void OperatorControl(void) //The Operator Control, what you're looking for!
{
while (IsOperatorControl())
{

if(driveStick.GetRawButton(2)) //This is a structure that says if 2 is pressed, shooter
{ //will be set to 100%
shooter.Set(1.0);
}
else //anytime when it isn't pressed (else), the shooter will turn
{ // off
shooter.Set(0.0);
}

Wait(0.005); // wait for a motor update time
}
}

void Test()
{
//what runs during test mode
}
};

START_ROBOT_CLASS(RobotDemo);