Log in

View Full Version : Double Solenoid Function Error


TomorrowsGuru
17-02-2016, 18:23
We're trying to use several double solenoids in C++, but we keep getting an error. no matching function for call to 'DoubleSolenoid::DoubleSolenoid()'
Here's the code we're trying to use:
#include "WPILib.h"
class Robot: public SampleRobot {
Joystick driver;
DoubleSolenoid shootingArm;
DoubleSolenoid shifter;
DoubleSolenoid pusher;

const double kUpdatePeriod = 0.005;

// Numbers of the buttons to use for triggering the solenoids.
const int kSolenoidButton = 4;
const int kDoubleSolenoidForward = 2;
const int kDoubleSolenoidReverse = 3;

public:
Robot() :
driver(0), // Use joystick on port 0.
// Use double solenoid with Forward Channel of 1 and Reverse of 2.
shootingArm(1, 2)
{
}

void OperatorControl()
{
while (IsOperatorControl() && IsEnabled())
{
if (driver.GetRawButton(kDoubleSolenoidForward))
shootingArm.Set(DoubleSolenoid::kForward);
else if (driver.GetRawButton(kDoubleSolenoidReverse))
shootingArm.Set(DoubleSolenoid::kReverse);
else
shootingArm.Set(DoubleSolenoid::kOff);

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

START_ROBOT_CLASS(Robot)
Any help would be appreciated.

SuperBK
17-02-2016, 21:56
You need to add initializations for the pusher and shifter. Those are calls to the constructor of the class. 'DoubleSolenoid::DoubleSolenoid()


Robot() :
driver(0), // Use joystick on port 0.
// Use double solenoid with Forward Channel of 1 and Reverse of 2.
shootingArm(1, 2),
shifter(3,4),
pusher(5,6)