Absolute Encoders
YAGSL supports most common FRC absolute encoders. Absolute encoders are required if you are using a brushed motor .
The absolute encoder value will show up in shuffleboard under Module[...] Raw Absolute Encoder
and can be used to tune the absoluteEncoderOffset
in module JSON configuration files under most circumstances.
Absolute Encoder Checklist
IF you are attaching the absolute encoder to the motor controller the gearing and counts per revolution are not relevant and should be 360
instead of the calculated conversion factor for the angle motor!
Swerve Absolute Encoder Wrapper
YAGSL created wrappers over all supported Absolute Encoders to uniformly fetch and set data that is needed for a Swerve Module to operate. This wrapper is called SwerveAbsoluteEncoder
. All SwerveAbsoluteEncoder
's can be fetched via the SwerveModule
configuration object SwerveModuleConfiguration
absolute encoder attribute absoluteEncoder
. The SwerveModule
is able to be fetched by SwerveDrive.getModules()
easily.
YAGSL created wrappers over all supported Motor Controllers to uniformly fetch and set data that is needed for a Swerve Drive to operate. This wrapper is called SwerveMotor
. All SwerveMotor
's can be fetched via the SwerveModule
configuration object SwerveModuleConfiguration
motor definitions angleMotor
and driveMotor
. The SwerveModule
is able to be fetched by SwerveDrive.getModules()
easily.
Absolute Encoder Configuration
Only CTRE devices currently support the canbus
option, if your device is using the roboRIO canbus
you must use the value of null
or "rio"
for supported CTRE devices. If you are using a CANivore, and the device is on the CANivore bus, the name must match the CANivore name.
Inside any module JSON such as frontleft.json
,frontright.json
,backleft.json
,backright.json
this is what you would see to configure a absolute encoder.
Possible Absolute Encoder Types
Conversion Factor for steering/angle/azimuth motors should be 360
if the absolute encoder is attached to the SparkMAX!
Try inverting your steering/angle/azimuth motor if your module keeps spinning around.
Device | type |
---|---|
None |
|
Throughbore (via PWM) | |
Thrifty Absolute Magnetic Encoder (via Analog Input) | |
MA3 (via Analog Input) | |
PWM DutyCycle |
|
Analog Encoder |
|
Last updated