Package ftclib.sensor

Class FtcAnalogEncoder

java.lang.Object
ftclib.sensor.FtcAnalogEncoder
All Implemented Interfaces:
TrcEncoder

public class FtcAnalogEncoder extends Object implements TrcEncoder
This class implements an Analog Absolute Encoders that implements the TrcEncoder interface to allow compatibility to other types of encoders.
  • Field Details

    • tracer

      public final TrcDbgTrace tracer
    • instanceName

      private final String instanceName
    • analogInput

      private final FtcAnalogInput analogInput
    • wrapValueConverter

      private final TrcWrapValueConverter wrapValueConverter
    • sign

      private double sign
    • scale

      private double scale
    • offset

      private double offset
    • zeroOffset

      private double zeroOffset
  • Constructor Details

    • FtcAnalogEncoder

      public FtcAnalogEncoder(String instanceName, TrcFilter[] filters)
      Constructor: Creates an instance of the object.
      Parameters:
      instanceName - specifies the instance name.
      filters - specifies an array of filter objects, one for each axis, to filter sensor data. If no filter is used, this can be set to null.
    • FtcAnalogEncoder

      public FtcAnalogEncoder(String instanceName)
      Constructor: Creates an instance of the object.
      Parameters:
      instanceName - specifies the instance name.
  • Method Details

    • setEnabled

      public void setEnabled(boolean enabled)
      This method enables/disables the Wrap Value Converter task.
      Parameters:
      enabled - specifies true to enable wrap value converter, false to disable.
    • isEnabled

      public boolean isEnabled()
      This method checks if the Cardinal Converter task is enabled.
      Returns:
      true if cardinal converter is enabled, false if disabled.
    • getRawVoltage

      public double getRawVoltage()
      This method reads the raw voltage from the analog input of the encoder.
      Returns:
      raw voltage of the analog encoder.
    • reset

      public void reset()
      This method resets the encoder revolution counter (Cardinal Converter).
      Specified by:
      reset in interface TrcEncoder
    • getRawPosition

      public double getRawPosition()
      This method reads the normalized analog input of the encoder.
      Specified by:
      getRawPosition in interface TrcEncoder
      Returns:
      normalized input of the encoder in the unit of percent rotation (0 to 1).
    • getScaledPosition

      public double getScaledPosition()
      This method returns the encoder position adjusted by scale and offset.
      Specified by:
      getScaledPosition in interface TrcEncoder
      Returns:
      encoder position adjusted by scale and offset.
    • getRawVelocity

      public double getRawVelocity()
      This method reads the raw encoder velocity in encoder units per second.
      Specified by:
      getRawVelocity in interface TrcEncoder
      Returns:
      raw encoder velocity in encoder units per second.
    • getScaledVelocity

      public double getScaledVelocity()
      This method returns the encoder velocity adjusted by scale.
      Specified by:
      getScaledVelocity in interface TrcEncoder
      Returns:
      encoder velocity adjusted by scale.
    • setInverted

      public void setInverted(boolean inverted)
      This method reverses the direction of the encoder.
      Specified by:
      setInverted in interface TrcEncoder
      Parameters:
      inverted - specifies true to reverse the encoder direction, false otherwise.
    • isInverted

      public boolean isInverted()
      This method checks if the encoder direction is inverted.
      Specified by:
      isInverted in interface TrcEncoder
      Returns:
      true if encoder direction is reversed, false otherwise.
    • setScaleAndOffset

      public void setScaleAndOffset(double scale, double offset, double zeroOffset)
      This method sets the encoder scale and offset.
      Specified by:
      setScaleAndOffset in interface TrcEncoder
      Parameters:
      scale - specifies the scale value.
      offset - specifies the offset value.
      zeroOffset - specifies the zero offset for absolute encoder.