private static CANTalon initCANTalon( CANTalon talon, FeedbackDevice device, boolean reverseSensor, int codesPerRev, int acceptableErr, double rightDriveKp, double rightDriveKi, double rightDriveKd) { talon.reset(); talon.enableZeroSensorPositionOnIndex(true, true); talon.setPosition(0); talon.setFeedbackDevice(device); talon.reverseSensor(reverseSensor); if (FeedbackDevice.QuadEncoder.equals(device)) talon.configEncoderCodesPerRev(codesPerRev); else if (FeedbackDevice.AnalogPot.equals(device)) talon.configPotentiometerTurns(codesPerRev); talon.configNominalOutputVoltage(NOMINAL_FORWARD_VOLTAGE, NOMINAL_REVERSE_VOLTAGE); talon.configPeakOutputVoltage(PEAK_FORWARD_VOLTAGE, PEAK_REVERSE_VOLTAGE); talon.setAllowableClosedLoopErr(acceptableErr); talon.setPID(rightDriveKp, rightDriveKi, rightDriveKd); return talon; }