7#include <frc/GenericHID.h>
183 [[nodiscard]]
bool GetRawButton(std::initializer_list<Button> buttonCombo);
252 std::array<std::chrono::time_point<std::chrono::steady_clock>,
static_cast<int>(
Button::COUNT)>
Definition: xbox_controller.h:16
void SetVibration(VibrationModel newVibrationModel)
Sets a new vibration pattern and updates vibration output based on that new model.
Definition: xbox_controller.cpp:135
Button
Definition: xbox_controller.h:23
@ kRightTrigger
virtual button
@ kLeftTrigger
virtual button
bool GetDebouncedButtonReleased(Button buttonIdx)
Detect if a button just transitioned from active to inactive after applying debounce.
Definition: xbox_controller.cpp:51
std::array< bool, static_cast< int >(Button::COUNT)> m_buttonDebounceStatus
Definition: xbox_controller.h:250
void SwapSettings(XboxController &other)
Swap all configurations (debounce, etc) between this and other controller. Useful in conjunction with...
Definition: xbox_controller.cpp:20
VibrationModel m_vibrationModel
Active vibration model.
Definition: xbox_controller.h:255
void UpdateVibration()
Update vibration output based on current vibration model.
Definition: xbox_controller.cpp:140
std::array< std::chrono::time_point< std::chrono::steady_clock >, static_cast< int >(Button::COUNT)> m_buttonDebounceTransitionTime
Time when new value was first seen.
Definition: xbox_controller.h:253
std::array< bool, static_cast< int >(Button::COUNT)> m_rawButtonStatus
Definition: xbox_controller.h:251
JoystickHand
Replaces legacy joystick hand API for WPILib.
Definition: xbox_controller.h:21
bool GetRawButtonPressed(Button buttonIdx)
Detect if a button just transitioned from inactive to active.
Definition: xbox_controller.cpp:91
UpdateStatus UpdateButton(Button buttonIdx)
Determines the new status of a button. This is used by the other status retrieval functions.
Definition: xbox_controller.cpp:146
std::array< DebounceSettings, static_cast< int >(Button::COUNT)> m_buttonDebounceSettings
Definition: xbox_controller.h:249
static constexpr double analogTriggerThresh
Percent trigger pressed to consider as a button press.
Definition: xbox_controller.h:247
double GetY(JoystickHand hand) const
Get Y joystick percent from specified joystick.
Definition: xbox_controller.cpp:35
VibrationModel GetVibration() const
Get the active vibration model.
Definition: xbox_controller.cpp:131
bool GetRawButtonReleased(Button buttonIdx)
Detect if a button just transitioned from active to inactive.
Definition: xbox_controller.cpp:95
DPadButtons GetPOVButtons()
Convert POV angle to usable DPad button values.
Definition: xbox_controller.cpp:229
bool GetRawButton(Button buttonIdx)
Get the status of button.
Definition: xbox_controller.cpp:87
double GetTriggerAxis(JoystickHand hand) const
Get percent from specified controller trigger button.
Definition: xbox_controller.cpp:39
bool GetDebouncedButton(Button buttonIdx)
Get the status of button after applying debounce.
Definition: xbox_controller.cpp:43
void SetButtonDebounce(Button targetButton, DebounceSettings newSettings)
Configure debounce for a specified button.
Definition: xbox_controller.cpp:16
double GetX(JoystickHand hand) const
Get X joystick percent from specified joystick.
Definition: xbox_controller.cpp:31
bool GetDebouncedButtonPressed(Button buttonIdx)
Detect if a button just transitioned from inactive to active after applying debounce.
Definition: xbox_controller.cpp:47
Axis
Definition: xbox_controller.h:55
Definition: swap_controllers_command.h:12
std::function< VibrationStatus()> VibrationModel
Definition: vibration.h:21
Definition: debounce_settings.h:11
State of an individual button.
Definition: xbox_controller.h:46
bool debounceActive
Button status after debounce applied.
Definition: xbox_controller.h:52
bool pressed
Transitioned from inactive to active.
Definition: xbox_controller.h:47
bool debouncePress
Transitioned from inactive to active after debounce applied.
Definition: xbox_controller.h:49
bool debounceRelease
Transitioned from active to inactive after debounce applied.
Definition: xbox_controller.h:50
bool rawActive
Raw button status.
Definition: xbox_controller.h:51
bool released
Transitioned from active to inactive.
Definition: xbox_controller.h:48