Package swervelib.encoders
Class CANCoderSwerve
java.lang.Object
swervelib.encoders.SwerveAbsoluteEncoder
swervelib.encoders.CANCoderSwerve
Swerve Absolute Encoder for CTRE CANCoders.
-
Field Summary
Modifier and TypeFieldDescriptionprivate Alert
AnAlert
for if the absolute encoder offset cannot be set.com.ctre.phoenix6.hardware.CANcoder
CANCoder with WPILib sendable and support.private Alert
AnAlert
for if the CANCoder magnet field is less than ideal.private Alert
AnAlert
for if the CANCoder reading is faulty.private Alert
AnAlert
for if the CANCoder reading is faulty and the reading is ignored.static double
Wait time for status frames to show up.Fields inherited from class swervelib.encoders.SwerveAbsoluteEncoder
maximumRetries, readingError
-
Constructor Summary
ConstructorDescriptionCANCoderSwerve
(int id) Initialize the CANCoder on the standard CANBus.CANCoderSwerve
(int id, String canbus) Initialize the CANCoder on the CANivore. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear sticky faults on the encoder.void
configure
(boolean inverted) Configure the absolute encoder to read from [0, 360) per second.void
Reset the encoder to factory defaults.Get the instantiated absolute encoder Object.double
Get the absolute position of the encoder.double
Get the velocity in degrees/sec.boolean
setAbsoluteEncoderOffset
(double offset) Sets the Absolute Encoder Offset within the CANcoder's Memory.
-
Field Details
-
STATUS_TIMEOUT_SECONDS
public static double STATUS_TIMEOUT_SECONDSWait time for status frames to show up. -
encoder
public com.ctre.phoenix6.hardware.CANcoder encoderCANCoder with WPILib sendable and support. -
magnetFieldLessThanIdeal
AnAlert
for if the CANCoder magnet field is less than ideal. -
readingFaulty
AnAlert
for if the CANCoder reading is faulty. -
readingIgnored
AnAlert
for if the CANCoder reading is faulty and the reading is ignored. -
cannotSetOffset
AnAlert
for if the absolute encoder offset cannot be set.
-
-
Constructor Details
-
CANCoderSwerve
public CANCoderSwerve(int id) Initialize the CANCoder on the standard CANBus.- Parameters:
id
- CAN ID.
-
CANCoderSwerve
Initialize the CANCoder on the CANivore.- Parameters:
id
- CAN ID.canbus
- CAN bus to initialize it on.
-
-
Method Details
-
factoryDefault
public void factoryDefault()Reset the encoder to factory defaults.- Specified by:
factoryDefault
in classSwerveAbsoluteEncoder
-
clearStickyFaults
public void clearStickyFaults()Clear sticky faults on the encoder.- Specified by:
clearStickyFaults
in classSwerveAbsoluteEncoder
-
configure
public void configure(boolean inverted) Configure the absolute encoder to read from [0, 360) per second.- Specified by:
configure
in classSwerveAbsoluteEncoder
- Parameters:
inverted
- Whether the encoder is inverted.
-
getAbsolutePosition
public double getAbsolutePosition()Get the absolute position of the encoder. SetsSwerveAbsoluteEncoder.readingError
on erroneous readings.- Specified by:
getAbsolutePosition
in classSwerveAbsoluteEncoder
- Returns:
- Absolute position in degrees from [0, 360).
-
getAbsoluteEncoder
Get the instantiated absolute encoder Object.- Specified by:
getAbsoluteEncoder
in classSwerveAbsoluteEncoder
- Returns:
- Absolute encoder object.
-
setAbsoluteEncoderOffset
public boolean setAbsoluteEncoderOffset(double offset) Sets the Absolute Encoder Offset within the CANcoder's Memory.- Specified by:
setAbsoluteEncoderOffset
in classSwerveAbsoluteEncoder
- Parameters:
offset
- the offset the Absolute Encoder uses as the zero point in degrees.- Returns:
- if setting Absolute Encoder Offset was successful or not.
-
getVelocity
public double getVelocity()Get the velocity in degrees/sec.- Specified by:
getVelocity
in classSwerveAbsoluteEncoder
- Returns:
- velocity in degrees/sec.
-