public void Run() { //_talon.SetControlMode(TalonSRX.ControlMode.kVoltage); _talon.ConfigSelectedFeedbackSensor(FeedbackDevice.CTRE_MagEncoder_Relative, 0); _talon.SetSensorPhase(false); _talon.Config_kP(0, 0.80f); _talon.Config_kI(0, 0f); _talon.Config_kD(0, 0f); _talon.Config_kF(0, 0.09724488664269079041176191004297f); _talon.SelectProfileSlot(0, 0); _talon.ConfigNominalOutputForward(0f, 50); _talon.ConfigNominalOutputReverse(0f, 50); _talon.ConfigPeakOutputForward(+1.0f, 50); _talon.ConfigPeakOutputReverse(-1.0f, 50); _talon.ChangeMotionControlFramePeriod(5); _talon.ConfigMotionProfileTrajectoryPeriod(0, 50); /* loop forever */ while (true) { _talon.GetMotionProfileStatus(_motionProfileStatus); Drive(); Watchdog.Feed(); Instrument(); Thread.Sleep(5); } }