[commands] GenericHIDController: use composition in C++ (#6296)

This commit is contained in:
Jade
2024-05-25 07:36:05 +08:00
committed by GitHub
parent 221d568bd9
commit f1e072fc98
12 changed files with 469 additions and 129 deletions

View File

@@ -6,67 +6,85 @@
using namespace frc2;
Trigger CommandStadiaController::Button(int button,
frc::EventLoop* loop) const {
return GenericHID::Button(button, loop).CastTo<Trigger>();
CommandStadiaController::CommandStadiaController(int port)
: CommandGenericHID(port), m_hid{frc::StadiaController(port)} {}
frc::StadiaController& CommandStadiaController::GetHID() {
return m_hid;
}
Trigger CommandStadiaController::LeftBumper(frc::EventLoop* loop) const {
return StadiaController::LeftBumper(loop).CastTo<Trigger>();
return m_hid.LeftBumper(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::RightBumper(frc::EventLoop* loop) const {
return StadiaController::RightBumper(loop).CastTo<Trigger>();
return m_hid.RightBumper(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::LeftStick(frc::EventLoop* loop) const {
return StadiaController::LeftStick(loop).CastTo<Trigger>();
return m_hid.LeftStick(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::RightStick(frc::EventLoop* loop) const {
return StadiaController::RightStick(loop).CastTo<Trigger>();
return m_hid.RightStick(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::A(frc::EventLoop* loop) const {
return StadiaController::A(loop).CastTo<Trigger>();
return m_hid.A(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::B(frc::EventLoop* loop) const {
return StadiaController::B(loop).CastTo<Trigger>();
return m_hid.B(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::X(frc::EventLoop* loop) const {
return StadiaController::X(loop).CastTo<Trigger>();
return m_hid.X(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::Y(frc::EventLoop* loop) const {
return StadiaController::Y(loop).CastTo<Trigger>();
return m_hid.Y(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::Ellipses(frc::EventLoop* loop) const {
return StadiaController::Ellipses(loop).CastTo<Trigger>();
return m_hid.Ellipses(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::Hamburger(frc::EventLoop* loop) const {
return StadiaController::Hamburger(loop).CastTo<Trigger>();
return m_hid.Hamburger(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::Stadia(frc::EventLoop* loop) const {
return StadiaController::Stadia(loop).CastTo<Trigger>();
return m_hid.Stadia(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::Google(frc::EventLoop* loop) const {
return StadiaController::Google(loop).CastTo<Trigger>();
return m_hid.Google(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::Frame(frc::EventLoop* loop) const {
return StadiaController::Frame(loop).CastTo<Trigger>();
return m_hid.Frame(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::LeftTrigger(frc::EventLoop* loop) const {
return StadiaController::LeftTrigger(loop).CastTo<Trigger>();
return m_hid.LeftTrigger(loop).CastTo<Trigger>();
}
Trigger CommandStadiaController::RightTrigger(frc::EventLoop* loop) const {
return StadiaController::RightTrigger(loop).CastTo<Trigger>();
return m_hid.RightTrigger(loop).CastTo<Trigger>();
}
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();
}