// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.

// THIS FILE WAS AUTO-GENERATED BY ./wpilibNewCommands/generate_hids.py. DO NOT MODIFY

#include "frc2/command/button/CommandStadiaController.h"

using namespace frc2;

CommandStadiaController::CommandStadiaController(int port)
    : CommandGenericHID(port), m_hid{frc::StadiaController(port)} {}

frc::StadiaController& CommandStadiaController::GetHID() {
  return m_hid;
}

Trigger CommandStadiaController::A(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kA, loop);
}

Trigger CommandStadiaController::B(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kB, loop);
}

Trigger CommandStadiaController::X(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kX, loop);
}

Trigger CommandStadiaController::Y(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kY, loop);
}

Trigger CommandStadiaController::LeftBumper(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kLeftBumper, loop);
}

Trigger CommandStadiaController::RightBumper(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kRightBumper, loop);
}

Trigger CommandStadiaController::LeftStick(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kLeftStick, loop);
}

Trigger CommandStadiaController::RightStick(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kRightStick, loop);
}

Trigger CommandStadiaController::Ellipses(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kEllipses, loop);
}

Trigger CommandStadiaController::Hamburger(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kHamburger, loop);
}

Trigger CommandStadiaController::Stadia(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kStadia, loop);
}

Trigger CommandStadiaController::RightTrigger(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kRightTrigger, loop);
}

Trigger CommandStadiaController::LeftTrigger(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kLeftTrigger, loop);
}

Trigger CommandStadiaController::Google(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kGoogle, loop);
}

Trigger CommandStadiaController::Frame(frc::EventLoop* loop) const {
  return Button(frc::StadiaController::Button::kFrame, loop);
}

double CommandStadiaController::GetLeftX() const {
  return m_hid.GetLeftX();
}

double CommandStadiaController::GetRightX() const {
  return m_hid.GetRightX();
}

double CommandStadiaController::GetLeftY() const {
  return m_hid.GetLeftY();
}

double CommandStadiaController::GetRightY() const {
  return m_hid.GetRightY();
}
