# CanAndCoderSwerve
declaration: package: swervelib.encoders, class: CanAndCoderSwerve

Package swervelib.encoders

# Class CanAndCoderSwerve

java.lang.Object
swervelib.encoders.SwerveAbsoluteEncoder
swervelib.encoders.CanAndCoderSwerve

public class CanAndCoderSwerve extends SwerveAbsoluteEncoder
HELIUM `Canandcoder` from ReduxRobotics absolute encoder, attached through the CAN bus.

## Field Summary

Fields
Modifier and Type
Field
Description
`com.reduxrobotics.sensors.canandcoder.Canandcoder`
`encoder`
The `Canandcoder` representing the CANandCoder on the CAN bus.

### Fields inherited from class swervelib.encoders.SwerveAbsoluteEncoder

`maximumRetries, readingError`

## Constructor Summary

Constructors
Constructor
Description
`CanAndCoderSwerve(int canid)`
Create the `Canandcoder`

## Method Summary

Modifier and Type
Method
Description
`void`
`clearStickyFaults()`
Clear sticky faults on the encoder.
`void`
`configure(boolean inverted)`
Configure the Canandcoder to read from [0, 360) per second.
`void`
`factoryDefault()`
Reset the encoder to factory defaults.
`Object`
`getAbsoluteEncoder()`
Get the instantiated absolute encoder Object.
`double`
`getAbsolutePosition()`
Get the absolute position of the encoder.
`double`
`getVelocity()`
Get the velocity in degrees/sec.
`boolean`
`setAbsoluteEncoderOffset(double offset)`
Cannot set the offset of the Canandcoder.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### encoder

public com.reduxrobotics.sensors.canandcoder.Canandcoder encoder
The `Canandcoder` representing the CANandCoder on the CAN bus.

## Constructor Details

### CanAndCoderSwerve

public CanAndCoderSwerve(int canid)
Create the `Canandcoder`

Parameters:
  `canid` - The CAN ID whenever the CANandCoder is operating on the CANBus.

## Method Details

### factoryDefault

public void factoryDefault()
Reset the encoder to factory defaults.

This will not clear the stored zero offset.

Specified by:
  `factoryDefault` in class `SwerveAbsoluteEncoder`

### clearStickyFaults

public void clearStickyFaults()
Clear sticky faults on the encoder.

Specified by:
  `clearStickyFaults` in class `SwerveAbsoluteEncoder`

### configure

public void configure(boolean inverted)
Configure the Canandcoder to read from [0, 360) per second.

Specified by:
  `configure` in class `SwerveAbsoluteEncoder`
Parameters:
  `inverted` - Whether the encoder is inverted.

### getAbsolutePosition

public double getAbsolutePosition()
Get the absolute position of the encoder.

Specified by:
  `getAbsolutePosition` in class `SwerveAbsoluteEncoder`
Returns:
  Absolute position in degrees from [0, 360).

### getAbsoluteEncoder

public Object getAbsoluteEncoder()
Get the instantiated absolute encoder Object.

Specified by:
  `getAbsoluteEncoder` in class `SwerveAbsoluteEncoder`
Returns:
  Absolute encoder object.

### setAbsoluteEncoderOffset

public boolean setAbsoluteEncoderOffset(double offset)
Cannot set the offset of the Canandcoder.

Specified by:
  `setAbsoluteEncoderOffset` in class `SwerveAbsoluteEncoder`
Parameters:
  `offset` - the offset the Absolute Encoder uses as the zero point.
Returns:
  true if setting the zero point succeeded, false otherwise

### getVelocity

public double getVelocity()
Get the velocity in degrees/sec.

Specified by:
  `getVelocity` in class `SwerveAbsoluteEncoder`
Returns:
  velocity in degrees/sec.