Class PWMSim

java.lang.Object
edu.wpi.first.wpilibj.simulation.PWMSim

public class PWMSim extends Object
Class to control a simulated PWM output.
  • Constructor Details

    • PWMSim

      public PWMSim(PWM pwm)
      Constructs from a PWM object.
      Parameters:
      pwm - PWM to simulate
    • PWMSim

      public PWMSim(PWMMotorController motorctrl)
      Constructs from a PWMMotorController object.
      Parameters:
      motorctrl - PWMMotorController to simulate
    • PWMSim

      public PWMSim(int channel)
      Constructs from a PWM channel number.
      Parameters:
      channel - Channel number
  • Method Details

    • registerInitializedCallback

      public CallbackStore registerInitializedCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback to be run when the PWM is initialized.
      Parameters:
      callback - the callback
      initialNotify - whether to run the callback with the initial state
      Returns:
      the CallbackStore object associated with this callback.
    • getInitialized

      public boolean getInitialized()
      Check whether the PWM has been initialized.
      Returns:
      true if initialized
    • setInitialized

      public void setInitialized(boolean initialized)
      Define whether the PWM has been initialized.
      Parameters:
      initialized - whether this object is initialized
    • registerPulseMicrosecondCallback

      public CallbackStore registerPulseMicrosecondCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback to be run when the PWM raw value changes.
      Parameters:
      callback - the callback
      initialNotify - whether to run the callback with the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getPulseMicrosecond

      public int getPulseMicrosecond()
      Get the PWM pulse microsecond value.
      Returns:
      the PWM pulse microsecond value
    • setPulseMicrosecond

      public void setPulseMicrosecond(int microsecondPulseTime)
      Set the PWM pulse microsecond value.
      Parameters:
      microsecondPulseTime - the PWM pulse microsecond value
    • registerSpeedCallback

      public CallbackStore registerSpeedCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback to be run when the PWM speed changes.
      Parameters:
      callback - the callback
      initialNotify - whether to run the callback with the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getSpeed

      public double getSpeed()
      Get the PWM speed.
      Returns:
      the PWM speed (-1.0 to 1.0)
    • setSpeed

      public void setSpeed(double speed)
      Set the PWM speed.
      Parameters:
      speed - the PWM speed (-1.0 to 1.0)
    • registerPositionCallback

      public CallbackStore registerPositionCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback to be run when the PWM position changes.
      Parameters:
      callback - the callback
      initialNotify - whether to run the callback with the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getPosition

      public double getPosition()
      Get the PWM position.
      Returns:
      the PWM position (0.0 to 1.0)
    • setPosition

      public void setPosition(double position)
      Set the PWM position.
      Parameters:
      position - the PWM position (0.0 to 1.0)
    • registerPeriodScaleCallback

      public CallbackStore registerPeriodScaleCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback to be run when the PWM period scale changes.
      Parameters:
      callback - the callback
      initialNotify - whether to run the callback with the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getPeriodScale

      public int getPeriodScale()
      Get the PWM period scale.
      Returns:
      the PWM period scale
    • setPeriodScale

      public void setPeriodScale(int periodScale)
      Set the PWM period scale.
      Parameters:
      periodScale - the PWM period scale
    • registerZeroLatchCallback

      public CallbackStore registerZeroLatchCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback to be run when the PWM zero latch state changes.
      Parameters:
      callback - the callback
      initialNotify - whether to run the callback with the initial state
      Returns:
      the CallbackStore object associated with this callback.
    • getZeroLatch

      public boolean getZeroLatch()
      Check whether the PWM is zero latched.
      Returns:
      true if zero latched
    • setZeroLatch

      public void setZeroLatch(boolean zeroLatch)
      Define whether the PWM has been zero latched.
      Parameters:
      zeroLatch - true to indicate zero latched
    • resetData

      public void resetData()
      Reset all simulation data.