Class TalonSRXSimCollection

java.lang.Object
com.ctre.phoenix.motorcontrol.TalonSRXSimCollection

public class TalonSRXSimCollection extends Object
Collection of simulation commands available to a TalonSRX motor controller. Use the getSimCollection() routine inside your motor controller to create the respective sim collection.
  • Constructor Details

    • TalonSRXSimCollection

      public TalonSRXSimCollection(BaseTalon motorController)
      Constructor for TalonSRXSimCollection
      Parameters:
      motorController - Motor Controller to connect Collection to
  • Method Details

    • getLastError

      Gets the last error generated by this object. Not all functions return an error code but can potentially report errors. This function can be used to retrieve those error codes.
      Returns:
      Last Error Code generated by a function.
    • getMotorOutputLeadVoltage

      public double getMotorOutputLeadVoltage()
      Gets the simulated output voltage across M+ and M- for the motor.
      Returns:
      applied voltage to the motor in volts
    • setBusVoltage

      public ErrorCode setBusVoltage(double vbat)
      Sets the simulated bus voltage of the TalonSRX.

      The minimum allowed bus voltage is 4 V - values below this will be promoted to 4 V.

      Parameters:
      vbat - the bus voltage in volts
      Returns:
      error code
    • setSupplyCurrent

      public ErrorCode setSupplyCurrent(double currA)
      Sets the simulated supply current of the TalonSRX.
      Parameters:
      currA - the supply current in amps
      Returns:
      error code
    • setStatorCurrent

      public ErrorCode setStatorCurrent(double currA)
      Sets the simulated stator current of the TalonSRX.
      Parameters:
      currA - the stator current in amps
      Returns:
      error code
    • setLimitFwd

      public ErrorCode setLimitFwd(boolean isClosed)
      Sets the simulated forward limit switch of the TalonSRX.
      Parameters:
      isClosed - true if the limit switch is closed
      Returns:
      error code
    • setLimitRev

      public ErrorCode setLimitRev(boolean isClosed)
      Sets the simulated reverse limit switch of the TalonSRX.
      Parameters:
      isClosed - true if the limit switch is closed
      Returns:
      error code
    • setAnalogPosition

      public ErrorCode setAnalogPosition(int newPos)
      Sets the simulated analog position of the TalonSRX.
      Parameters:
      newPos - the new position in native units
      Returns:
      error code
    • addAnalogPosition

      public ErrorCode addAnalogPosition(int dPos)
      Adds to the simulated analog position of the TalonSRX.
      Parameters:
      dPos - the change in position in native units
      Returns:
      error code
    • setAnalogVelocity

      public ErrorCode setAnalogVelocity(int newVel)
      Sets the simulated analog velocity of the TalonSRX.
      Parameters:
      newVel - the new velocity in native units per 100ms
      Returns:
      error code
    • setPulseWidthConnected

      public ErrorCode setPulseWidthConnected(boolean isConnected)
      Sets if the simulated pulse width sensor is connected to the TalonSRX.
      Parameters:
      isConnected - true if the pulse width sensor is connected
      Returns:
      error code
    • setPulseWidthRiseToRiseUs

      public ErrorCode setPulseWidthRiseToRiseUs(double periodUs)
      Sets the simulated pulse width rise to rise time of the TalonSRX.
      Parameters:
      periodUs - the pulse width rise to rise time in microseconds
      Returns:
      error code
    • setPulseWidthPosition

      public ErrorCode setPulseWidthPosition(int newPos)
      Sets the simulated pulse width position of the TalonSRX.
      Parameters:
      newPos - the new position in native units
      Returns:
      error code
    • addPulseWidthPosition

      public ErrorCode addPulseWidthPosition(int dPos)
      Adds to the simulated pulse width position of the TalonSRX.
      Parameters:
      dPos - the change in position in native units
      Returns:
      error code
    • setPulseWidthVelocity

      public ErrorCode setPulseWidthVelocity(int newVel)
      Sets the simulated pulse width velocity of the TalonSRX.
      Parameters:
      newVel - the new velocity in native units per 100ms
      Returns:
      error code
    • setQuadratureRawPosition

      public ErrorCode setQuadratureRawPosition(int newPos)
      Sets the simulated raw quadrature position of the TalonSRX.

      The TalonSRX integrates this to calculate the true reported quadrature position.

      When using the WPI Sim GUI, you will notice a readonly 'position' and settable 'rawPositionInput'. The readonly signal is the emulated position which will match self-test in Tuner and the hardware API. Changes to 'rawPositionInput' will be integrated into the emulated position. This way a simulator can modify the position without overriding your hardware API calls for home-ing your sensor.

      Inputs to this function over time should be continuous, as user calls of setSelectedSensorPosition() and setQuadraturePosition() will be accounted for in the calculation.

      Parameters:
      newPos - the new raw position in native units
      Returns:
      error code
    • addQuadraturePosition

      public ErrorCode addQuadraturePosition(int dPos)
      Adds to the simulated quadrature position of the TalonSRX.
      Parameters:
      dPos - the change in position in native units
      Returns:
      error code
    • setQuadratureVelocity

      public ErrorCode setQuadratureVelocity(int newVel)
      Sets the simulated quadrature velocity of the TalonSRX.
      Parameters:
      newVel - the new velocity in native units per 100ms
      Returns:
      error code