001/* Copyright (C) Cross The Road Electronics 2024 */
002package com.ctre.phoenix.sensors;
003
004/**
005 * Enumerated types for frame rate ms.
006 */
007public enum PigeonIMU_StatusFrame {
008        /**
009         * General Status of Pigeon
010         */
011        CondStatus_1_General(0x042000),
012        /**
013         * Yaw Pitch Roll information from Pigeon 
014         */ 
015        CondStatus_9_SixDeg_YPR(0x042200), 
016        /**
017         * 9-Axis fused value
018         */
019        CondStatus_6_SensorFusion(0x042140), 
020        /**
021         * Accumulated Gyro information from Pigeon
022         */
023        CondStatus_11_GyroAccum(0x042280), 
024        /**
025         * General Compass information from Pigeon
026         */
027        CondStatus_2_GeneralCompass(0x042040), 
028        /**
029         * General Accelerometer information from Pigeon
030         */
031        CondStatus_3_GeneralAccel(0x042080), 
032        /**
033         * Quaternion value information from Pigeon
034         */
035        CondStatus_10_SixDeg_Quat(0x042240), 
036        /**
037         * Raw Magnetometer information from Pigeon
038         */
039        RawStatus_4_Mag(0x041CC0), 
040        /**
041         * Biased Gyro information from Pigeon
042         */
043        BiasedStatus_2_Gyro(0x041C40), 
044        /**
045         * Biased Magnetometer information from Pigeon
046         */
047        BiasedStatus_4_Mag(0x041CC0), 
048        /**
049         * Biased Accelerometer information from Pigeon
050         */
051        BiasedStatus_6_Accel(0x41D40);
052
053        /**
054         * value of Status frame
055         */
056        public final int value;
057
058        /**
059         * Create status frame of initValue
060         * @param initValue value of status frame
061         */
062        PigeonIMU_StatusFrame(int initValue) {
063                this.value = initValue;
064        }
065
066        /**
067         * Get StatusFrame of specified value
068         * @param value value of status frame
069         * @return PigeonIMU_StatusFrame of specified value
070         */
071        public static PigeonIMU_StatusFrame valueOf(int value) {
072                for (PigeonIMU_StatusFrame mode : values()) {
073                        if (mode.value == value) {
074                                return mode;
075                        }
076                }
077                return null;
078        }
079}