[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,56 +6,83 @@
using namespace frc2;
Trigger CommandXboxController::Button(int button, frc::EventLoop* loop) const {
return GenericHID::Button(button, loop).CastTo<Trigger>();
CommandXboxController::CommandXboxController(int port)
: CommandGenericHID(port), m_hid{frc::XboxController(port)} {}
frc::XboxController& CommandXboxController::GetHID() {
return m_hid;
}
Trigger CommandXboxController::LeftBumper(frc::EventLoop* loop) const {
return XboxController::LeftBumper(loop).CastTo<Trigger>();
return m_hid.LeftBumper(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::RightBumper(frc::EventLoop* loop) const {
return XboxController::RightBumper(loop).CastTo<Trigger>();
return m_hid.RightBumper(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::LeftStick(frc::EventLoop* loop) const {
return XboxController::LeftStick(loop).CastTo<Trigger>();
return m_hid.LeftStick(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::RightStick(frc::EventLoop* loop) const {
return XboxController::RightStick(loop).CastTo<Trigger>();
return m_hid.RightStick(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::A(frc::EventLoop* loop) const {
return XboxController::A(loop).CastTo<Trigger>();
return m_hid.A(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::B(frc::EventLoop* loop) const {
return XboxController::B(loop).CastTo<Trigger>();
return m_hid.B(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::X(frc::EventLoop* loop) const {
return XboxController::X(loop).CastTo<Trigger>();
return m_hid.X(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::Y(frc::EventLoop* loop) const {
return XboxController::Y(loop).CastTo<Trigger>();
return m_hid.Y(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::Back(frc::EventLoop* loop) const {
return XboxController::Back(loop).CastTo<Trigger>();
return m_hid.Back(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::Start(frc::EventLoop* loop) const {
return XboxController::Start(loop).CastTo<Trigger>();
return m_hid.Start(loop).CastTo<Trigger>();
}
Trigger CommandXboxController::LeftTrigger(double threshold,
frc::EventLoop* loop) const {
return XboxController::LeftTrigger(threshold, loop).CastTo<Trigger>();
return m_hid.LeftTrigger(threshold, loop).CastTo<Trigger>();
}
Trigger CommandXboxController::RightTrigger(double threshold,
frc::EventLoop* loop) const {
return XboxController::RightTrigger(threshold, loop).CastTo<Trigger>();
return m_hid.RightTrigger(threshold, loop).CastTo<Trigger>();
}
double CommandXboxController::GetRightTriggerAxis() {
return m_hid.GetRightTriggerAxis();
}
double CommandXboxController::GetLeftTriggerAxis() {
return m_hid.GetLeftTriggerAxis();
}
double CommandXboxController::GetRightY() {
return m_hid.GetRightY();
}
double CommandXboxController::GetLeftY() {
return m_hid.GetLeftY();
}
double CommandXboxController::GetRightX() {
return m_hid.GetRightX();
}
double CommandXboxController::GetLeftX() {
return m_hid.GetLeftX();
}