Class EncoderSim

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

public class EncoderSim extends Object
Class to control a simulated encoder.
  • Constructor Details

    • EncoderSim

      public EncoderSim(Encoder encoder)
      Constructs from an Encoder object.
      Parameters:
      encoder - Encoder to simulate
  • Method Details

    • createForChannel

      public static EncoderSim createForChannel(int channel)
      Creates an EncoderSim for a digital input channel. Encoders take two channels, so either one may be specified.
      Parameters:
      channel - digital input channel
      Returns:
      Simulated object
      Throws:
      NoSuchElementException - if no Encoder is configured for that channel
    • createForIndex

      public static EncoderSim createForIndex(int index)
      Creates an EncoderSim for a simulated index. The index is incremented for each simulated Encoder.
      Parameters:
      index - simulator index
      Returns:
      Simulated object
    • registerInitializedCallback

      public CallbackStore registerInitializedCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback on the Initialized property of the encoder.
      Parameters:
      callback - the callback that will be called whenever the Initialized property is changed
      initialNotify - if true, the callback will be run on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getInitialized

      public boolean getInitialized()
      Read the Initialized value of the encoder.
      Returns:
      true if initialized
    • setInitialized

      public void setInitialized(boolean initialized)
      Change the Initialized value of the encoder.
      Parameters:
      initialized - the new value
    • registerCountCallback

      public CallbackStore registerCountCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback on the count property of the encoder.
      Parameters:
      callback - the callback that will be called whenever the count property is changed
      initialNotify - if true, the callback will be run on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getCount

      public int getCount()
      Read the count of the encoder.
      Returns:
      the count
    • setCount

      public void setCount(int count)
      Change the count of the encoder.
      Parameters:
      count - the new count
    • registerPeriodCallback

      public CallbackStore registerPeriodCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback on the period of the encoder.
      Parameters:
      callback - the callback that will be called whenever the period is changed
      initialNotify - if true, the callback will be run on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getPeriod

      public double getPeriod()
      Read the period of the encoder.
      Returns:
      the encoder period
    • setPeriod

      public void setPeriod(double period)
      Change the encoder period.
      Parameters:
      period - the new period
    • registerResetCallback

      public CallbackStore registerResetCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback to be called whenever the encoder is reset.
      Parameters:
      callback - the callback
      initialNotify - whether to run the callback on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getReset

      public boolean getReset()
      Check if the encoder has been reset.
      Returns:
      true if reset
    • setReset

      public void setReset(boolean reset)
      Change the reset property of the encoder.
      Parameters:
      reset - the new value
    • registerMaxPeriodCallback

      public CallbackStore registerMaxPeriodCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback to be run whenever the max period of the encoder is changed.
      Parameters:
      callback - the callback
      initialNotify - whether to run the callback on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getMaxPeriod

      public double getMaxPeriod()
      Get the max period of the encoder.
      Returns:
      the max period of the encoder
    • setMaxPeriod

      public void setMaxPeriod(double maxPeriod)
      Change the max period of the encoder.
      Parameters:
      maxPeriod - the new value
    • registerDirectionCallback

      public CallbackStore registerDirectionCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback on the direction of the encoder.
      Parameters:
      callback - the callback that will be called whenever the direction is changed
      initialNotify - if true, the callback will be run on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getDirection

      public boolean getDirection()
      Get the direction of the encoder.
      Returns:
      the direction of the encoder
    • setDirection

      public void setDirection(boolean direction)
      Set the direction of the encoder.
      Parameters:
      direction - the new direction
    • registerReverseDirectionCallback

      public CallbackStore registerReverseDirectionCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback on the reverse direction.
      Parameters:
      callback - the callback that will be called whenever the reverse direction is changed
      initialNotify - if true, the callback will be run on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getReverseDirection

      public boolean getReverseDirection()
      Get the reverse direction of the encoder.
      Returns:
      the reverse direction of the encoder
    • setReverseDirection

      public void setReverseDirection(boolean reverseDirection)
      Set the reverse direction.
      Parameters:
      reverseDirection - the new value
    • registerSamplesToAverageCallback

      public CallbackStore registerSamplesToAverageCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback on the samples-to-average value of this encoder.
      Parameters:
      callback - the callback that will be called whenever the samples-to-average is changed
      initialNotify - if true, the callback will be run on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getSamplesToAverage

      public int getSamplesToAverage()
      Get the samples-to-average value.
      Returns:
      the samples-to-average value
    • setSamplesToAverage

      public void setSamplesToAverage(int samplesToAverage)
      Set the samples-to-average value.
      Parameters:
      samplesToAverage - the new value
    • registerDistancePerPulseCallback

      public CallbackStore registerDistancePerPulseCallback(NotifyCallback callback, boolean initialNotify)
      Register a callback on the distance per pulse value of this encoder.
      Parameters:
      callback - the callback that will be called whenever the distance per pulse is changed
      initialNotify - if true, the callback will be run on the initial value
      Returns:
      the CallbackStore object associated with this callback.
    • getDistancePerPulse

      public double getDistancePerPulse()
      Get the distance per pulse value.
      Returns:
      the distance per pulse value
    • setDistancePerPulse

      public void setDistancePerPulse(double distancePerPulse)
      Set the distance per pulse value.
      Parameters:
      distancePerPulse - the new distancePerPulse
    • setDistance

      public void setDistance(double distance)
      Change the encoder distance.
      Parameters:
      distance - the new distance
    • getDistance

      public double getDistance()
      Read the distance of the encoder.
      Returns:
      the encoder distance
    • setRate

      public void setRate(double rate)
      Change the rate of the encoder.
      Parameters:
      rate - the new rate
    • getRate

      public double getRate()
      Get the rate of the encoder.
      Returns:
      the rate of change
    • resetData

      public void resetData()
      Resets all simulation data for this encoder.