/*----------------------------------------------------------------------------*/ /* Copyright (c) 2019-2020 FIRST. All Rights Reserved. */ /* Open Source Software - may be modified and shared by FRC teams. The code */ /* must be accompanied by the FIRST BSD license file in the root directory of */ /* the project. */ /*----------------------------------------------------------------------------*/ #pragma once #include #include "Button.h" namespace frc2 { /** * A class used to bind command scheduling to joystick POV presses. Can be * composed with other buttons with the operators in Trigger. * * @see Trigger */ class POVButton : public Button { public: /** * Creates a POVButton that commands can be bound to. * * @param joystick The joystick on which the button is located. * @param angle The angle of the POV corresponding to a button press. * @param povNumber The number of the POV on the joystick. */ POVButton(frc::GenericHID* joystick, int angle, int povNumber = 0) : Button([joystick, angle, povNumber] { joystick->GetPOV(povNumber) == angle; }) {} }; } // namespace frc2