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

#include "frc/simulation/StadiaControllerSim.h"

#include "frc/StadiaController.h"

using namespace frc;
using namespace frc::sim;

StadiaControllerSim::StadiaControllerSim(const StadiaController& joystick)
    : GenericHIDSim{joystick} {
  SetAxisCount(4);
  SetButtonCount(15);
  SetPOVCount(1);
}

StadiaControllerSim::StadiaControllerSim(int port) : GenericHIDSim{port} {
  SetAxisCount(4);
  SetButtonCount(15);
  SetPOVCount(1);
}

void StadiaControllerSim::SetLeftX(double value) {
  SetRawAxis(StadiaController::Axis::kLeftX, value);
}

void StadiaControllerSim::SetRightX(double value) {
  SetRawAxis(StadiaController::Axis::kRightX, value);
}

void StadiaControllerSim::SetLeftY(double value) {
  SetRawAxis(StadiaController::Axis::kLeftY, value);
}

void StadiaControllerSim::SetRightY(double value) {
  SetRawAxis(StadiaController::Axis::kRightY, value);
}

void StadiaControllerSim::SetAButton(bool value) {
  SetRawButton(StadiaController::Button::kA, value);
}

void StadiaControllerSim::SetBButton(bool value) {
  SetRawButton(StadiaController::Button::kB, value);
}

void StadiaControllerSim::SetXButton(bool value) {
  SetRawButton(StadiaController::Button::kX, value);
}

void StadiaControllerSim::SetYButton(bool value) {
  SetRawButton(StadiaController::Button::kY, value);
}

void StadiaControllerSim::SetLeftBumperButton(bool value) {
  SetRawButton(StadiaController::Button::kLeftBumper, value);
}

void StadiaControllerSim::SetRightBumperButton(bool value) {
  SetRawButton(StadiaController::Button::kRightBumper, value);
}

void StadiaControllerSim::SetLeftStickButton(bool value) {
  SetRawButton(StadiaController::Button::kLeftStick, value);
}

void StadiaControllerSim::SetRightStickButton(bool value) {
  SetRawButton(StadiaController::Button::kRightStick, value);
}

void StadiaControllerSim::SetEllipsesButton(bool value) {
  SetRawButton(StadiaController::Button::kEllipses, value);
}

void StadiaControllerSim::SetHamburgerButton(bool value) {
  SetRawButton(StadiaController::Button::kHamburger, value);
}

void StadiaControllerSim::SetStadiaButton(bool value) {
  SetRawButton(StadiaController::Button::kStadia, value);
}

void StadiaControllerSim::SetRightTriggerButton(bool value) {
  SetRawButton(StadiaController::Button::kRightTrigger, value);
}

void StadiaControllerSim::SetLeftTriggerButton(bool value) {
  SetRawButton(StadiaController::Button::kLeftTrigger, value);
}

void StadiaControllerSim::SetGoogleButton(bool value) {
  SetRawButton(StadiaController::Button::kGoogle, value);
}

void StadiaControllerSim::SetFrameButton(bool value) {
  SetRawButton(StadiaController::Button::kFrame, value);
}
