From 0349524f80c460f594507fbd4f515413cf1ee5ec Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Wed, 17 Dec 2025 21:18:47 -0800 Subject: [PATCH] [wpilib] Remove MotorController::StopMotor() (#8483) It does the same thing as Disable() in practice, and MotorSafety has its own StopMotor() function. --- .../cpp/hardware/motor/PWMMotorController.cpp | 18 +++++------------- .../wpi/hardware/motor/MotorController.hpp | 5 ----- .../main/python/semiwrap/MotorController.yml | 1 - .../python/semiwrap/MotorControllerGroup.yml | 1 - .../wpilib/src/rpy/MotorControllerGroup.cpp | 6 ------ .../wpilib/src/rpy/MotorControllerGroup.h | 1 - .../cpp/motorcontrol/MockMotorController.cpp | 4 ---- .../motorcontrol/MockMotorController.hpp | 1 - .../wpilib/hardware/motor/MotorController.java | 6 ------ .../hardware/motor/PWMMotorController.java | 7 +------ .../hardware/motor/MockMotorController.java | 5 ----- .../src/main/java/org/wpilib/xrp/XRPMotor.java | 5 ----- 12 files changed, 6 insertions(+), 54 deletions(-) diff --git a/wpilibc/src/main/native/cpp/hardware/motor/PWMMotorController.cpp b/wpilibc/src/main/native/cpp/hardware/motor/PWMMotorController.cpp index 198ed0d358..e318f994d5 100644 --- a/wpilibc/src/main/native/cpp/hardware/motor/PWMMotorController.cpp +++ b/wpilibc/src/main/native/cpp/hardware/motor/PWMMotorController.cpp @@ -54,6 +54,10 @@ bool PWMMotorController::GetInverted() const { void PWMMotorController::Disable() { m_pwm.SetDisabled(); + if (m_simSpeed) { + m_simSpeed.Set(0.0); + } + for (auto& follower : m_nonowningFollowers) { follower->Disable(); } @@ -63,19 +67,7 @@ void PWMMotorController::Disable() { } void PWMMotorController::StopMotor() { - // Don't use Set(0) as that will feed the watch kitty - m_pwm.SetPulseTime(0_us); - - if (m_simSpeed) { - m_simSpeed.Set(0.0); - } - - for (auto& follower : m_nonowningFollowers) { - follower->StopMotor(); - } - for (auto& follower : m_owningFollowers) { - follower->StopMotor(); - } + Disable(); } std::string PWMMotorController::GetDescription() const { diff --git a/wpilibc/src/main/native/include/wpi/hardware/motor/MotorController.hpp b/wpilibc/src/main/native/include/wpi/hardware/motor/MotorController.hpp index 4bd1ed9097..1a26ddff8d 100644 --- a/wpilibc/src/main/native/include/wpi/hardware/motor/MotorController.hpp +++ b/wpilibc/src/main/native/include/wpi/hardware/motor/MotorController.hpp @@ -61,11 +61,6 @@ class MotorController { * Common interface for disabling a motor. */ virtual void Disable() = 0; - - /** - * Common interface to stop the motor until Set is called again. - */ - virtual void StopMotor() = 0; }; } // namespace wpi diff --git a/wpilibc/src/main/python/semiwrap/MotorController.yml b/wpilibc/src/main/python/semiwrap/MotorController.yml index 94764b64ee..6f5aeab026 100644 --- a/wpilibc/src/main/python/semiwrap/MotorController.yml +++ b/wpilibc/src/main/python/semiwrap/MotorController.yml @@ -10,4 +10,3 @@ classes: SetInverted: GetInverted: Disable: - StopMotor: diff --git a/wpilibc/src/main/python/semiwrap/MotorControllerGroup.yml b/wpilibc/src/main/python/semiwrap/MotorControllerGroup.yml index 44baa068e8..596982eaa9 100644 --- a/wpilibc/src/main/python/semiwrap/MotorControllerGroup.yml +++ b/wpilibc/src/main/python/semiwrap/MotorControllerGroup.yml @@ -39,5 +39,4 @@ classes: SetInverted: GetInverted: Disable: - StopMotor: InitSendable: diff --git a/wpilibc/src/main/python/wpilib/src/rpy/MotorControllerGroup.cpp b/wpilibc/src/main/python/wpilib/src/rpy/MotorControllerGroup.cpp index 9243a63bcc..1f284cecc3 100644 --- a/wpilibc/src/main/python/wpilib/src/rpy/MotorControllerGroup.cpp +++ b/wpilibc/src/main/python/wpilib/src/rpy/MotorControllerGroup.cpp @@ -48,12 +48,6 @@ void PyMotorControllerGroup::Disable() { } } -void PyMotorControllerGroup::StopMotor() { - for (auto motorController : m_motorControllers) { - motorController->StopMotor(); - } -} - void PyMotorControllerGroup::InitSendable(wpi::util::SendableBuilder& builder) { builder.SetSmartDashboardType("Motor Controller"); builder.SetActuator(true); diff --git a/wpilibc/src/main/python/wpilib/src/rpy/MotorControllerGroup.h b/wpilibc/src/main/python/wpilib/src/rpy/MotorControllerGroup.h index 26714d64f7..3d598b58c4 100644 --- a/wpilibc/src/main/python/wpilib/src/rpy/MotorControllerGroup.h +++ b/wpilibc/src/main/python/wpilib/src/rpy/MotorControllerGroup.h @@ -32,7 +32,6 @@ class PyMotorControllerGroup : public wpi::util::Sendable, void SetInverted(bool isInverted) override; bool GetInverted() const override; void Disable() override; - void StopMotor() override; void InitSendable(wpi::util::SendableBuilder& builder) override; diff --git a/wpilibc/src/test/native/cpp/motorcontrol/MockMotorController.cpp b/wpilibc/src/test/native/cpp/motorcontrol/MockMotorController.cpp index dd4f2bc281..27069ce7da 100644 --- a/wpilibc/src/test/native/cpp/motorcontrol/MockMotorController.cpp +++ b/wpilibc/src/test/native/cpp/motorcontrol/MockMotorController.cpp @@ -25,7 +25,3 @@ bool MockMotorController::GetInverted() const { void MockMotorController::Disable() { m_speed = 0; } - -void MockMotorController::StopMotor() { - Disable(); -} diff --git a/wpilibc/src/test/native/include/motorcontrol/MockMotorController.hpp b/wpilibc/src/test/native/include/motorcontrol/MockMotorController.hpp index 5eabe930e7..12ae501e13 100644 --- a/wpilibc/src/test/native/include/motorcontrol/MockMotorController.hpp +++ b/wpilibc/src/test/native/include/motorcontrol/MockMotorController.hpp @@ -18,7 +18,6 @@ class MockMotorController : public MotorController { void SetInverted(bool isInverted) override; bool GetInverted() const override; void Disable() override; - void StopMotor() override; private: double m_speed = 0.0; diff --git a/wpilibj/src/main/java/org/wpilib/hardware/motor/MotorController.java b/wpilibj/src/main/java/org/wpilib/hardware/motor/MotorController.java index 0eb31d61df..26a91c1135 100644 --- a/wpilibj/src/main/java/org/wpilib/hardware/motor/MotorController.java +++ b/wpilibj/src/main/java/org/wpilib/hardware/motor/MotorController.java @@ -71,10 +71,4 @@ public interface MotorController { /** Disable the motor controller. */ void disable(); - - /** - * Stops motor movement. Motor can be moved again by calling set without having to re-enable the - * motor. - */ - void stopMotor(); } diff --git a/wpilibj/src/main/java/org/wpilib/hardware/motor/PWMMotorController.java b/wpilibj/src/main/java/org/wpilib/hardware/motor/PWMMotorController.java index 718ed5443b..e26ff1f446 100644 --- a/wpilibj/src/main/java/org/wpilib/hardware/motor/PWMMotorController.java +++ b/wpilibj/src/main/java/org/wpilib/hardware/motor/PWMMotorController.java @@ -225,12 +225,7 @@ public abstract class PWMMotorController extends MotorSafety @Override public void stopMotor() { - // Don't use set(0) as that will feed the watch kitty - m_pwm.setPulseTimeMicroseconds(0); - - for (var follower : m_followers) { - follower.stopMotor(); - } + disable(); } @Override diff --git a/wpilibj/src/test/java/org/wpilib/hardware/motor/MockMotorController.java b/wpilibj/src/test/java/org/wpilib/hardware/motor/MockMotorController.java index 6b485ee940..5fd3d7bc96 100644 --- a/wpilibj/src/test/java/org/wpilib/hardware/motor/MockMotorController.java +++ b/wpilibj/src/test/java/org/wpilib/hardware/motor/MockMotorController.java @@ -33,9 +33,4 @@ public class MockMotorController implements MotorController { public void disable() { m_speed = 0; } - - @Override - public void stopMotor() { - disable(); - } } diff --git a/xrpVendordep/src/main/java/org/wpilib/xrp/XRPMotor.java b/xrpVendordep/src/main/java/org/wpilib/xrp/XRPMotor.java index d9fde1dd28..83bda3b984 100644 --- a/xrpVendordep/src/main/java/org/wpilib/xrp/XRPMotor.java +++ b/xrpVendordep/src/main/java/org/wpilib/xrp/XRPMotor.java @@ -103,9 +103,4 @@ public class XRPMotor implements MotorController { public void disable() { set(0.0); } - - @Override - public void stopMotor() { - set(0.0); - } }