Motor Controllers
Last updated
Last updated
YAGSL supports most common FRC motor controllers (except 's) and while we recommend using a brushless motor with an integrated encoder if at all possible we support brushed motors with external quadrature encoders as well ONLY with SparkMAX's.
The integrated encoder value will show up in shuffleboard under swerve/modules/.../Raw Motor Encoder
as directly outputting the encoder value from the motor.
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 . All 's can be fetched via the configuration object motor definitions and . The is able to be fetched by easily.
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 motor controller.
At this time I do not provide documentation on brushed motor utilization, like sparkmax_brushed
and talonsrx
.
sparkmax
(same as neo
);neo
; neo550
sparkflex
(same as vortex
); vortex
; sparkflex_neo
; sparkflex_vortex
talonfx
(same as krakenx60
);falcon500
;falcon500foc
;krakenx60
; krakenx60foc
TalonSRX
talonsrx
SparkMAX Brushed
sparkmax_brushed