diff --git a/wpilibc/src/main/native/cpp/simulation/PWMSim.cpp b/wpilibc/src/main/native/cpp/simulation/PWMSim.cpp index f5d69dba75..3fafa8ed33 100644 --- a/wpilibc/src/main/native/cpp/simulation/PWMSim.cpp +++ b/wpilibc/src/main/native/cpp/simulation/PWMSim.cpp @@ -10,12 +10,16 @@ #include #include "frc/PWM.h" +#include "frc/motorcontrol/PWMMotorController.h" using namespace frc; using namespace frc::sim; PWMSim::PWMSim(const PWM& pwm) : m_index{pwm.GetChannel()} {} +PWMSim::PWMSim(const PWMMotorController& motorctrl) + : m_index{motorctrl.GetChannel()} {} + PWMSim::PWMSim(int channel) : m_index{channel} {} std::unique_ptr PWMSim::RegisterInitializedCallback( diff --git a/wpilibc/src/main/native/include/frc/simulation/PWMSim.h b/wpilibc/src/main/native/include/frc/simulation/PWMSim.h index 97e9b1f65d..8b4156edd0 100644 --- a/wpilibc/src/main/native/include/frc/simulation/PWMSim.h +++ b/wpilibc/src/main/native/include/frc/simulation/PWMSim.h @@ -11,6 +11,7 @@ namespace frc { class PWM; +class PWMMotorController; namespace sim { @@ -26,6 +27,13 @@ class PWMSim { */ explicit PWMSim(const PWM& pwm); + /** + * Constructs from a PWMMotorController object. + * + * @param motorctrl PWMMotorController to simulate + */ + explicit PWMSim(const PWMMotorController& motorctrl); + /** * Constructs from a PWM channel number. * diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/PWMSim.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/PWMSim.java index 8a60e52608..79781c4f16 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/PWMSim.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/PWMSim.java @@ -7,6 +7,7 @@ package edu.wpi.first.wpilibj.simulation; import edu.wpi.first.hal.simulation.NotifyCallback; import edu.wpi.first.hal.simulation.PWMDataJNI; import edu.wpi.first.wpilibj.PWM; +import edu.wpi.first.wpilibj.motorcontrol.PWMMotorController; /** Class to control a simulated PWM output. */ public class PWMSim { @@ -21,6 +22,15 @@ public class PWMSim { m_index = pwm.getChannel(); } + /** + * Constructs from a PWMMotorController object. + * + * @param motorctrl PWMMotorController to simulate + */ + public PWMSim(PWMMotorController motorctrl) { + m_index = motorctrl.getChannel(); + } + /** * Constructs from a PWM channel number. *