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.