// 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 ./commandsv2/generate_hids.py. DO NOT MODIFY

#include "wpi/commands2/button/CommandNiDsStadiaController.hpp"

using namespace wpi::cmd;

CommandNiDsStadiaController::CommandNiDsStadiaController(int port)
    : CommandGenericHID(port), m_hid{wpi::NiDsStadiaController(port)} {}

wpi::NiDsStadiaController& CommandNiDsStadiaController::GetHID() {
  return m_hid;
}

Trigger CommandNiDsStadiaController::A(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kA, loop);
}

Trigger CommandNiDsStadiaController::B(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kB, loop);
}

Trigger CommandNiDsStadiaController::X(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kX, loop);
}

Trigger CommandNiDsStadiaController::Y(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kY, loop);
}

Trigger CommandNiDsStadiaController::LeftBumper(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kLeftBumper, loop);
}

Trigger CommandNiDsStadiaController::RightBumper(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kRightBumper, loop);
}

Trigger CommandNiDsStadiaController::LeftStick(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kLeftStick, loop);
}

Trigger CommandNiDsStadiaController::RightStick(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kRightStick, loop);
}

Trigger CommandNiDsStadiaController::Ellipses(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kEllipses, loop);
}

Trigger CommandNiDsStadiaController::Hamburger(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kHamburger, loop);
}

Trigger CommandNiDsStadiaController::Stadia(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kStadia, loop);
}

Trigger CommandNiDsStadiaController::RightTrigger(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kRightTrigger, loop);
}

Trigger CommandNiDsStadiaController::LeftTrigger(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kLeftTrigger, loop);
}

Trigger CommandNiDsStadiaController::Google(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kGoogle, loop);
}

Trigger CommandNiDsStadiaController::Frame(wpi::EventLoop* loop) const {
  return Button(wpi::NiDsStadiaController::Button::kFrame, loop);
}

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

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

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

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