Package com.revrobotics
Interface AbsoluteEncoder
-
- All Superinterfaces:
CANSensor
,MotorFeedbackSensor
- All Known Implementing Classes:
SparkMaxAbsoluteEncoder
public interface AbsoluteEncoder extends MotorFeedbackSensor
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getAverageDepth()
Get the average sampling depth for an absolute encoderboolean
getInverted()
Get the phase of the AbsoluteEncoderdouble
getPosition()
Get the position of the motor.double
getPositionConversionFactor()
Get the conversion factor for position of the encoder.double
getVelocity()
Get the velocity of the motor.double
getVelocityConversionFactor()
Get the conversion factor for velocity of the encoder.double
getZeroOffset()
Gets the zero offset for an absolute encoder (the position that is reported as zero).REVLibError
setAverageDepth(int depth)
Set the average sampling depth for an absolute encoder.REVLibError
setInverted(boolean inverted)
Set the phase of the AbsoluteEncoder so that it is set to be in phase with the motor itselfREVLibError
setPositionConversionFactor(double factor)
Set the conversion factor for position of the encoder.REVLibError
setVelocityConversionFactor(double factor)
Set the conversion factor for velocity of the encoder.REVLibError
setZeroOffset(double offset)
Sets the zero offset of an absolute encoder (the position that is reported as zero).
-
-
-
Method Detail
-
getPosition
double getPosition()
Get the position of the motor. This returns the native units of 'rotations' by default, and can be changed by a scale factor using setPositionConversionFactor().- Returns:
- Number of rotations of the motor
-
getVelocity
double getVelocity()
Get the velocity of the motor. This returns the native units of 'rotations per second' by default, and can be changed by a scale factor using setVelocityConversionFactor().- Returns:
- Number of rotations per second of the motor
-
setPositionConversionFactor
REVLibError setPositionConversionFactor(double factor)
Set the conversion factor for position of the encoder. Multiplied by the native output units to give you position- Parameters:
factor
- The conversion factor to multiply the native units by- Returns:
REVLibError.kOk
if successful
-
getPositionConversionFactor
double getPositionConversionFactor()
Get the conversion factor for position of the encoder. Multiplied by the native output units to give you position- Returns:
- The conversion factor for position
-
setVelocityConversionFactor
REVLibError setVelocityConversionFactor(double factor)
Set the conversion factor for velocity of the encoder. Multiplied by the native output units to give you velocity- Parameters:
factor
- The conversion factor to multiply the native units by- Returns:
REVLibError.kOk
if successful
-
getVelocityConversionFactor
double getVelocityConversionFactor()
Get the conversion factor for velocity of the encoder. Multiplied by the native output units to give you velocity- Returns:
- The conversion factor for velocity
-
setInverted
REVLibError setInverted(boolean inverted)
Set the phase of the AbsoluteEncoder so that it is set to be in phase with the motor itself- Specified by:
setInverted
in interfaceCANSensor
- Specified by:
setInverted
in interfaceMotorFeedbackSensor
- Parameters:
inverted
- The phase of the encoder- Returns:
REVLibError.kOk
if successful
-
getInverted
boolean getInverted()
Get the phase of the AbsoluteEncoder- Specified by:
getInverted
in interfaceCANSensor
- Specified by:
getInverted
in interfaceMotorFeedbackSensor
- Returns:
- The phase of the encoder
-
setAverageDepth
REVLibError setAverageDepth(int depth)
Set the average sampling depth for an absolute encoder. This is a bit size and should be either 1, 2, 4, 8, 16, 32, 64, or 128- Parameters:
depth
- The average sampling depth of 1, 2, 4, 8, 16, 32, 64, or 128- Returns:
REVLibError.kOk
if successful
-
getAverageDepth
int getAverageDepth()
Get the average sampling depth for an absolute encoder- Returns:
- The average sampling depth
-
setZeroOffset
REVLibError setZeroOffset(double offset)
Sets the zero offset of an absolute encoder (the position that is reported as zero).The zero offset is specified as the reported position of the encoder in the desired zero position, if the zero offset was set to 0. It is influenced by the absolute encoder's position conversion factor, and whether it is inverted.
Always call SetPositionConversionFactor() and SetInverted() before calling this function.
- Parameters:
offset
- The zero offset with the position conversion factor applied- Returns:
REVLibError.kOk
if successful
-
getZeroOffset
double getZeroOffset()
Gets the zero offset for an absolute encoder (the position that is reported as zero).The zero offset is specified as the reported position of the encoder in the desired zero position, if the zero offset was set to 0. It is influenced by the absolute encoder's position conversion factor, and whether it is inverted.
- Returns:
- The zero offset of the absolute encoder with the position conversion factor applied
-
-