001package com.ctre.phoenix.motorcontrol;
002
003/**
004 * Choose the control mode for a motor controller.  Consult product-specific documentation to determine what is available/supported for your device.
005 */
006public enum ControlMode
007{
008        /**
009         * Percent output [-1,1]
010         */
011        PercentOutput(0),
012        /**
013         * Position closed loop
014         */
015        Position(1),
016        /**
017         * Velocity closed loop
018         */
019        Velocity(2),
020        /**
021         * Input current closed loop
022         */
023        Current(3),
024        /**
025         * Follow other motor controller
026         */
027        Follower(5),
028        /**
029         * Motion Profile
030         */
031        MotionProfile(6),
032        /**
033         * Motion Magic
034         */
035        MotionMagic(7),
036        /**
037         * Motion Profile with auxiliary output
038         */
039        MotionProfileArc(10),
040        /**
041         * Plays a single tone.  Frequency (hz) is passed into set.
042         */
043        MusicTone(13),
044
045        /**
046         * Disable Motor Controller
047         */
048        Disabled(15);
049
050        /**
051         * Value of control mode
052         */
053        public final int value;
054
055        /**
056         * Create ControlMode of initValue
057         * @param initValue Value of ControlMode
058         */
059        ControlMode(int initValue)
060        {
061                this.value = initValue;
062        }
063};