001/* Copyright (C) Cross The Road Electronics 2024 */
002package com.ctre.phoenix.motorcontrol;
003
004/**
005 * The different status frames available to enhanced motor controllers
006 */
007public enum StatusFrameEnhanced {
008        /** 
009         * General Status
010         */
011        Status_1_General(0x1400),
012        /**
013         * Feedback for selected sensor on primary PID[0].
014         */
015        Status_2_Feedback0(0x1440),
016        /**
017         * Analog sensor, motor controller 
018         * temperature, and voltage at input leads
019         */
020        Status_4_AinTempVbat(0x14C0),
021        /**
022         * Miscellaneous signals
023         */
024        Status_6_Misc(0x1540),
025        /**
026         * Communication status
027         */
028        Status_7_CommStatus(0x1580),
029        /**
030         * Motion profile buffer status
031         */
032        Status_9_MotProfBuffer(0x1600),
033        /**
034         * Old name for Status 10
035         * @see #Status_10_Targets Use Status_10_Targets instead.
036         */
037        Status_10_MotionMagic(0x1640),
038        /**
039         * Correct name for Status 10
040         * @see #Status_10_MotionMagic Functionally equivalent to Status_10_MotionMagic
041         */
042        Status_10_Targets(0x1640),
043        /**
044         * Feedback for selected sensor on aux PID[1].
045         */
046        Status_12_Feedback1(0x16C0),
047        /**
048         * Primary PID
049         */
050        Status_13_Base_PIDF0(0x1700),
051        /**
052         * Auxiliary PID
053         */
054        Status_14_Turn_PIDF1(0x1740),
055        /**
056         * Firmware & API
057         */
058        Status_15_FirmwareApiStatus(0x1780),
059
060        /**
061         * Quadrature sensor
062         */
063        Status_3_Quadrature(0x1480),
064        /**
065         * Pulse width sensor
066         */
067        Status_8_PulseWidth(0x15C0),
068        /**
069         * Gadgeteer status
070         */
071        Status_11_UartGadgeteer(0x1680),
072        /**
073         * Brushless Current Status
074         * Includes Stator and Supply Current for Talon FX.
075         */
076        Status_Brushless_Current(0x1240),
077        /**
078         * FX Integrated sensor
079         */
080        Status_21_FeedbackIntegrated(0x2500);
081        
082        /** Value of Enhanced StatusFrame */
083        public int value;
084        /**
085         * Create StatusFrameEnhanced with specified value
086         * @param value Value of Enhanced StatusFrame
087         */
088        StatusFrameEnhanced(int value)
089        {
090                this.value = value;
091        }
092};