CANCoder
We use CANCoder as an absolute reference for arms and swerve modules, and to seed TalonFX position on boot.
CANcoder enc = new CANcoder(ArmConstants.sensorId, "rio");
double abs = enc.getAbsolutePosition().getValue(); // rotations
enc.setPosition(abs); // seed internal position
Tips
- Set magnet offset in Tuner X
- Log
getAbsolutePosition()and the seeded motor position for sanity