001/*
002 * Copyright (C) Cross The Road Electronics.  All rights reserved.
003 * License information can be found in CTRE_LICENSE.txt
004 * For support and suggestions contact support@ctr-electronics.com or file
005 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases
006 */
007package com.ctre.phoenixpro.spns;
008
009import java.util.HashMap;
010
011public enum SpnValue {
012    TalonFX_System_State(612),
013    Startup_ResetFlags(633),
014    Version_Major(731),
015    Version_Minor(732),
016    Version_Bugfix(733),
017    Version_Build(734),
018    Version_Full(735),
019    Licensing_IsProLicensed(748),
020    CustomParam0(816),
021    CustomParam1(817),
022    CANcoder_SensorDirection(821),
023    FrcLock(823),
024    RobotEnabled(824),
025    LED1_OnColor(826),
026    LED1_OffColor(827),
027    LED2_OnColor(828),
028    LED2_OffColor(829),
029    AllFaults(835),
030    AllStickyFaults(836),
031    Pigeon2UseCompass(910),
032    Pigeon2DisableTemperatureCompensation(945),
033    Pigeon2DisableNoMotionCalibration(947),
034    Pigeon2MountPoseYaw(952),
035    Pigeon2MountPosePitch(953),
036    Pigeon2MountPoseRoll(954),
037    Pigeon2GyroScalarX(958),
038    Pigeon2GyroScalarY(959),
039    Pigeon2GyroScalarZ(960),
040    Pigeon2Yaw(967),
041    Pigeon2Pitch(968),
042    Pigeon2Roll(969),
043    Pigeon2QuatW(970),
044    Pigeon2QuatX(971),
045    Pigeon2QuatY(972),
046    Pigeon2QuatZ(973),
047    Pigeon2GravityVectorX(974),
048    Pigeon2GravityVectorY(975),
049    Pigeon2GravityVectorZ(976),
050    Pigeon2Temperature(977),
051    Pigeon2NoMotionCalEnabled(978),
052    Pigeon2NoMotionCount(979),
053    Pigeon2TempCompDisabled(980),
054    Pigeon2UpTime(981),
055    Pigeon2AccumGyroX(982),
056    Pigeon2AccumGyroY(983),
057    Pigeon2AccumGyroZ(984),
058    Pigeon2AngularVelocityX(985),
059    Pigeon2AngularVelocityY(986),
060    Pigeon2AngularVelocityZ(987),
061    Pigeon2AccelerationX(988),
062    Pigeon2AccelerationY(989),
063    Pigeon2AccelerationZ(990),
064    Pigeon2_SupplyVoltage(993),
065    Pigeon2MagneticFieldX(997),
066    Pigeon2MagneticFieldY(998),
067    Pigeon2MagneticFieldZ(999),
068    Pigeon2RawMagneticFieldX(1000),
069    Pigeon2RawMagneticFieldY(1001),
070    Pigeon2RawMagneticFieldZ(1002),
071    CANCoder_MagnetOffset(1003),
072    CANcoder_AbsoluteSensorRange(1004),
073    DeviceEnabled(1035),
074    ForwardLimit(1359),
075    ReverseLimit(1360),
076    PRO_MotorOutput_RotorPolarity(1361),
077    PRO_MotorOutput_DutyCycle(1362),
078    PRO_MotorOutput_TorqueCurrent(1364),
079    PRO_SupplyAndTemp_StatorCurrent(1365),
080    PRO_SupplyAndTemp_SupplyCurrent(1366),
081    PRO_SupplyAndTemp_SupplyVoltage(1367),
082    PRO_SupplyAndTemp_DeviceTemp(1368),
083    PRO_SupplyAndTemp_ProcessorTemp(1369),
084    PRO_RotorPosAndVel_Velocity(1371),
085    PRO_RotorPosAndVel_Position(1372),
086    PRO_PosAndVel_Velocity(1375),
087    PRO_PosAndVel_Position(1376),
088    PRO_PIDStateEnables_IntegratedAccum_DC(1377),
089    PRO_PIDStateEnables_IntegratedAccum_V(1378),
090    PRO_PIDStateEnables_IntegratedAccum_A(1379),
091    PRO_PIDStateEnables_FeedForward_DC(1380),
092    PRO_PIDStateEnables_FeedForward_V(1381),
093    PRO_PIDStateEnables_FeedForward_A(1382),
094    TalonFX_ControlMode(1383),
095    PRO_PIDStateEnables_IsMotionMagicRunning(1385),
096    PRO_PIDStateEnables_DeviceEnable(1387),
097    PRO_PIDRefPIDErr_PIDRef_Position(1389),
098    PRO_PIDRefPIDErr_PIDRef_Velocity(1390),
099    PRO_PIDRefPIDErr_PIDErr_Position(1391),
100    PRO_PIDRefPIDErr_PIDErr_Velocity(1392),
101    PRO_PIDOutput_ProportionalOutput_DC(1394),
102    PRO_PIDOutput_ProportionalOutput_V(1395),
103    PRO_PIDOutput_ProportionalOutput_A(1396),
104    PRO_PIDOutput_DerivativeOutput_DC(1397),
105    PRO_PIDOutput_DerivativeOutput_V(1398),
106    PRO_PIDOutput_DerivativeOutput_A(1399),
107    PRO_PIDOutput_Output_DC(1400),
108    PRO_PIDOutput_Output_V(1401),
109    PRO_PIDOutput_Output_A(1402),
110    PRO_PIDOutput_Slot(1403),
111    PRO_PIDRefSlopeECUTime_ReferenceSlope_Position(1404),
112    PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity(1405),
113    Slot0_kP(1407),
114    Slot0_kI(1408),
115    Slot0_kD(1409),
116    Slot0_kV(1410),
117    Slot0_kS(1411),
118    Slot1_kP(1412),
119    Slot1_kI(1413),
120    Slot1_kD(1414),
121    Slot1_kV(1415),
122    Slot1_kS(1416),
123    Slot2_kP(1417),
124    Slot2_kI(1418),
125    Slot2_kD(1419),
126    Slot2_kV(1420),
127    Slot2_kS(1421),
128    Config_Inverted(1422),
129    Config_SupplyVLowpassTau(1423),
130    Config_BeepOnBoot(1424),
131    Config_NeutralMode(1425),
132    Config_DutyCycleNeutralDB(1426),
133    Config_StatorCurrentLimit(1427),
134    Config_StatorCurrLimitEn(1428),
135    Config_SupplyCurrentLimit(1429),
136    Config_SupplyCurrLimitEn(1430),
137    Config_PeakForwardDC(1431),
138    Config_PeakReverseDC(1432),
139    Config_PeakForwardV(1433),
140    Config_PeakReverseV(1434),
141    Config_PeakForTorqCurr(1435),
142    Config_PeakRevTorqCurr(1436),
143    Config_TorqueNeutralDB(1437),
144    Config_FeedbackRotorOffset(1438),
145    Config_SensorToMechanismRatio(1439),
146    Config_RotorToSensorRatio(1440),
147    Config_FeedbackSensorSource(1441),
148    Config_FeedbackRemoteSensorID(1442),
149    Config_DutyCycleOpenLoopRampPeriod(1443),
150    Config_VoltageOpenLoopRampPeriod(1444),
151    Config_TorqueOpenLoopRampPeriod(1445),
152    Config_DutyCycleClosedLoopRampPeriod(1446),
153    Config_VoltageClosedLoopRampPeriod(1447),
154    Config_TorqueClosedLoopRampPeriod(1448),
155    Config_ForwardLimitType(1449),
156    Config_ForwardLimitAutosetPosEnable(1450),
157    Config_ForwardLimitAutosetPosValue(1451),
158    Config_ForwardLimitEnable(1452),
159    Config_ForwardLimitSource(1453),
160    Config_ForwardLimitRemoteSensorID(1454),
161    Config_ReverseLimitType(1455),
162    Config_ReverseLimitAutosetPosEnable(1456),
163    Config_ReverseLimitAutosetPosValue(1457),
164    Config_ReverseLimitEnable(1458),
165    Config_ReverseLimitSource(1459),
166    Config_ReverseLimitRemoteSensorID(1460),
167    Config_ForwardSoftLimitEnable(1461),
168    Config_ReverseSoftLimitEnable(1462),
169    Config_ForwardSoftLimitThreshold(1463),
170    Config_ReverseSoftLimitThreshold(1464),
171    Config_MotionMagicCruiseVelocity(1465),
172    Config_MotionMagicAcceleration(1466),
173    Config_MotionMagicJerk(1467),
174    CANcoder_Velocity(1468),
175    CANcoder_Position(1469),
176    CANcoder_AbsPosition(1470),
177    CANCoder_RawVel(1471),
178    CANCoder_RawPos(1472),
179    CANCoder_SupplyVoltage(1473),
180    CANcoder_MagHealth(1474),
181    PRO_MotorOutput_BridgeType_Public(1477),
182    Config_ContinuousWrap(1499),
183    Config_SupplyCurrThres(1505),
184    Config_SupplyTimeThres(1506),
185    Fault_Hardware(10001),
186    StickyFault_Hardware(10002),
187    Fault_ProcTemp(10003),
188    StickyFault_ProcTemp(10004),
189    Fault_DeviceTemp(10005),
190    StickyFault_DeviceTemp(10006),
191    Fault_Undervoltage(10007),
192    StickyFault_Undervoltage(10008),
193    Fault_BootDuringEnable(10009),
194    StickyFault_BootDuringEnable(10010),
195    Fault_PIGEON2_BootupAccel(10013),
196    StickyFault_PIGEON2_BootupAccel(10014),
197    Fault_PIGEON2_BootupGyros(10015),
198    StickyFault_PIGEON2_BootupGyros(10016),
199    Fault_PIGEON2_BootupMagne(10017),
200    StickyFault_PIGEON2_BootupMagne(10018),
201    Fault_PIGEON2_BootIntoMotion(10019),
202    StickyFault_PIGEON2_BootIntoMotion(10020),
203    Fault_PIGEON2_DataAcquiredLate(10021),
204    StickyFault_PIGEON2_DataAcquiredLate(10022),
205    Fault_PIGEON2_LoopTimeSlow(10023),
206    StickyFault_PIGEON2_LoopTimeSlow(10024),
207    Fault_PIGEON2_SaturatedMagne(10025),
208    StickyFault_PIGEON2_SaturatedMagne(10026),
209    Fault_PIGEON2_SaturatedAccel(10027),
210    StickyFault_PIGEON2_SaturatedAccel(10028),
211    Fault_PIGEON2_SaturatedGyros(10029),
212    StickyFault_PIGEON2_SaturatedGyros(10030),
213    Fault_CANCODER_BadMagnet(10031),
214    StickyFault_CANCODER_BadMagnet(10032),
215    Fault_TALONFX_OverSupplyV(10033),
216    StickyFault_TALONFX_OverSupplyV(10034),
217    Fault_TALONFX_UnstableSupplyV(10035),
218    StickyFault_TALONFX_UnstableSupplyV(10036),
219    Fault_TALONFX_ReverseHardLimit(10037),
220    StickyFault_TALONFX_ReverseHardLimit(10038),
221    Fault_TALONFX_ForwardHardLimit(10039),
222    StickyFault_TALONFX_ForwardHardLimit(10040),
223    Fault_TALONFX_ReverseSoftLimit(10041),
224    StickyFault_TALONFX_ReverseSoftLimit(10042),
225    Fault_TALONFX_ForwardSoftLimit(10043),
226    StickyFault_TALONFX_ForwardSoftLimit(10044),
227    Fault_TALONFX_MissingRemoteSensor(10049),
228    StickyFault_TALONFX_MissingRemoteSensor(10050),
229    Fault_TALONFX_FusedSensorOutOfSync(10051),
230    StickyFault_TALONFX_FusedSensorOutOfSync(10052),
231    Fault_TALONFX_StatorCurrLimit(10053),
232    StickyFault_TALONFX_StatorCurrLimit(10054),
233    Fault_TALONFX_SupplyCurrLimit(10055),
234    StickyFault_TALONFX_SupplyCurrLimit(10056),;
235
236    public final int value;
237
238    SpnValue(int initValue) {
239        this.value = initValue;
240    }
241
242    private static HashMap<Integer, SpnValue> _map = null;
243    static {
244        _map = new HashMap<Integer, SpnValue>();
245        for (SpnValue type : SpnValue.values()) {
246            _map.put(type.value, type);
247        }
248    }
249
250    /**
251     * Gets SpnValue from specified value
252     *
253     * @param value Value of SpnValue
254     * @return SpnValue of specified value
255     */
256    public static SpnValue valueOf(int value) {
257        SpnValue retval = _map.get(value);
258        if (retval != null)
259            return retval;
260        return SpnValue.values()[0];
261    }
262
263    public String toString() {
264        switch (this) {
265        case TalonFX_System_State: return "TalonFX_System_State";
266        case Startup_ResetFlags: return "Startup_ResetFlags";
267        case Version_Major: return "Version_Major";
268        case Version_Minor: return "Version_Minor";
269        case Version_Bugfix: return "Version_Bugfix";
270        case Version_Build: return "Version_Build";
271        case Version_Full: return "Version_Full";
272        case Licensing_IsProLicensed: return "Licensing_IsProLicensed";
273        case CustomParam0: return "CustomParam0";
274        case CustomParam1: return "CustomParam1";
275        case CANcoder_SensorDirection: return "CANcoder_SensorDirection";
276        case FrcLock: return "FrcLock";
277        case RobotEnabled: return "RobotEnabled";
278        case LED1_OnColor: return "LED1_OnColor";
279        case LED1_OffColor: return "LED1_OffColor";
280        case LED2_OnColor: return "LED2_OnColor";
281        case LED2_OffColor: return "LED2_OffColor";
282        case AllFaults: return "AllFaults";
283        case AllStickyFaults: return "AllStickyFaults";
284        case Pigeon2UseCompass: return "Pigeon2UseCompass";
285        case Pigeon2DisableTemperatureCompensation: return "Pigeon2DisableTemperatureCompensation";
286        case Pigeon2DisableNoMotionCalibration: return "Pigeon2DisableNoMotionCalibration";
287        case Pigeon2MountPoseYaw: return "Pigeon2MountPoseYaw";
288        case Pigeon2MountPosePitch: return "Pigeon2MountPosePitch";
289        case Pigeon2MountPoseRoll: return "Pigeon2MountPoseRoll";
290        case Pigeon2GyroScalarX: return "Pigeon2GyroScalarX";
291        case Pigeon2GyroScalarY: return "Pigeon2GyroScalarY";
292        case Pigeon2GyroScalarZ: return "Pigeon2GyroScalarZ";
293        case Pigeon2Yaw: return "Pigeon2Yaw";
294        case Pigeon2Pitch: return "Pigeon2Pitch";
295        case Pigeon2Roll: return "Pigeon2Roll";
296        case Pigeon2QuatW: return "Pigeon2QuatW";
297        case Pigeon2QuatX: return "Pigeon2QuatX";
298        case Pigeon2QuatY: return "Pigeon2QuatY";
299        case Pigeon2QuatZ: return "Pigeon2QuatZ";
300        case Pigeon2GravityVectorX: return "Pigeon2GravityVectorX";
301        case Pigeon2GravityVectorY: return "Pigeon2GravityVectorY";
302        case Pigeon2GravityVectorZ: return "Pigeon2GravityVectorZ";
303        case Pigeon2Temperature: return "Pigeon2Temperature";
304        case Pigeon2NoMotionCalEnabled: return "Pigeon2NoMotionCalEnabled";
305        case Pigeon2NoMotionCount: return "Pigeon2NoMotionCount";
306        case Pigeon2TempCompDisabled: return "Pigeon2TempCompDisabled";
307        case Pigeon2UpTime: return "Pigeon2UpTime";
308        case Pigeon2AccumGyroX: return "Pigeon2AccumGyroX";
309        case Pigeon2AccumGyroY: return "Pigeon2AccumGyroY";
310        case Pigeon2AccumGyroZ: return "Pigeon2AccumGyroZ";
311        case Pigeon2AngularVelocityX: return "Pigeon2AngularVelocityX";
312        case Pigeon2AngularVelocityY: return "Pigeon2AngularVelocityY";
313        case Pigeon2AngularVelocityZ: return "Pigeon2AngularVelocityZ";
314        case Pigeon2AccelerationX: return "Pigeon2AccelerationX";
315        case Pigeon2AccelerationY: return "Pigeon2AccelerationY";
316        case Pigeon2AccelerationZ: return "Pigeon2AccelerationZ";
317        case Pigeon2_SupplyVoltage: return "Pigeon2_SupplyVoltage";
318        case Pigeon2MagneticFieldX: return "Pigeon2MagneticFieldX";
319        case Pigeon2MagneticFieldY: return "Pigeon2MagneticFieldY";
320        case Pigeon2MagneticFieldZ: return "Pigeon2MagneticFieldZ";
321        case Pigeon2RawMagneticFieldX: return "Pigeon2RawMagneticFieldX";
322        case Pigeon2RawMagneticFieldY: return "Pigeon2RawMagneticFieldY";
323        case Pigeon2RawMagneticFieldZ: return "Pigeon2RawMagneticFieldZ";
324        case CANCoder_MagnetOffset: return "CANCoder_MagnetOffset";
325        case CANcoder_AbsoluteSensorRange: return "CANcoder_AbsoluteSensorRange";
326        case DeviceEnabled: return "DeviceEnabled";
327        case ForwardLimit: return "ForwardLimit";
328        case ReverseLimit: return "ReverseLimit";
329        case PRO_MotorOutput_RotorPolarity: return "PRO_MotorOutput_RotorPolarity";
330        case PRO_MotorOutput_DutyCycle: return "PRO_MotorOutput_DutyCycle";
331        case PRO_MotorOutput_TorqueCurrent: return "PRO_MotorOutput_TorqueCurrent";
332        case PRO_SupplyAndTemp_StatorCurrent: return "PRO_SupplyAndTemp_StatorCurrent";
333        case PRO_SupplyAndTemp_SupplyCurrent: return "PRO_SupplyAndTemp_SupplyCurrent";
334        case PRO_SupplyAndTemp_SupplyVoltage: return "PRO_SupplyAndTemp_SupplyVoltage";
335        case PRO_SupplyAndTemp_DeviceTemp: return "PRO_SupplyAndTemp_DeviceTemp";
336        case PRO_SupplyAndTemp_ProcessorTemp: return "PRO_SupplyAndTemp_ProcessorTemp";
337        case PRO_RotorPosAndVel_Velocity: return "PRO_RotorPosAndVel_Velocity";
338        case PRO_RotorPosAndVel_Position: return "PRO_RotorPosAndVel_Position";
339        case PRO_PosAndVel_Velocity: return "PRO_PosAndVel_Velocity";
340        case PRO_PosAndVel_Position: return "PRO_PosAndVel_Position";
341        case PRO_PIDStateEnables_IntegratedAccum_DC: return "PRO_PIDStateEnables_IntegratedAccum_DC";
342        case PRO_PIDStateEnables_IntegratedAccum_V: return "PRO_PIDStateEnables_IntegratedAccum_V";
343        case PRO_PIDStateEnables_IntegratedAccum_A: return "PRO_PIDStateEnables_IntegratedAccum_A";
344        case PRO_PIDStateEnables_FeedForward_DC: return "PRO_PIDStateEnables_FeedForward_DC";
345        case PRO_PIDStateEnables_FeedForward_V: return "PRO_PIDStateEnables_FeedForward_V";
346        case PRO_PIDStateEnables_FeedForward_A: return "PRO_PIDStateEnables_FeedForward_A";
347        case TalonFX_ControlMode: return "TalonFX_ControlMode";
348        case PRO_PIDStateEnables_IsMotionMagicRunning: return "PRO_PIDStateEnables_IsMotionMagicRunning";
349        case PRO_PIDStateEnables_DeviceEnable: return "PRO_PIDStateEnables_DeviceEnable";
350        case PRO_PIDRefPIDErr_PIDRef_Position: return "PRO_PIDRefPIDErr_PIDRef_Position";
351        case PRO_PIDRefPIDErr_PIDRef_Velocity: return "PRO_PIDRefPIDErr_PIDRef_Velocity";
352        case PRO_PIDRefPIDErr_PIDErr_Position: return "PRO_PIDRefPIDErr_PIDErr_Position";
353        case PRO_PIDRefPIDErr_PIDErr_Velocity: return "PRO_PIDRefPIDErr_PIDErr_Velocity";
354        case PRO_PIDOutput_ProportionalOutput_DC: return "PRO_PIDOutput_ProportionalOutput_DC";
355        case PRO_PIDOutput_ProportionalOutput_V: return "PRO_PIDOutput_ProportionalOutput_V";
356        case PRO_PIDOutput_ProportionalOutput_A: return "PRO_PIDOutput_ProportionalOutput_A";
357        case PRO_PIDOutput_DerivativeOutput_DC: return "PRO_PIDOutput_DerivativeOutput_DC";
358        case PRO_PIDOutput_DerivativeOutput_V: return "PRO_PIDOutput_DerivativeOutput_V";
359        case PRO_PIDOutput_DerivativeOutput_A: return "PRO_PIDOutput_DerivativeOutput_A";
360        case PRO_PIDOutput_Output_DC: return "PRO_PIDOutput_Output_DC";
361        case PRO_PIDOutput_Output_V: return "PRO_PIDOutput_Output_V";
362        case PRO_PIDOutput_Output_A: return "PRO_PIDOutput_Output_A";
363        case PRO_PIDOutput_Slot: return "PRO_PIDOutput_Slot";
364        case PRO_PIDRefSlopeECUTime_ReferenceSlope_Position: return "PRO_PIDRefSlopeECUTime_ReferenceSlope_Position";
365        case PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity: return "PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity";
366        case Slot0_kP: return "Slot0_kP";
367        case Slot0_kI: return "Slot0_kI";
368        case Slot0_kD: return "Slot0_kD";
369        case Slot0_kV: return "Slot0_kV";
370        case Slot0_kS: return "Slot0_kS";
371        case Slot1_kP: return "Slot1_kP";
372        case Slot1_kI: return "Slot1_kI";
373        case Slot1_kD: return "Slot1_kD";
374        case Slot1_kV: return "Slot1_kV";
375        case Slot1_kS: return "Slot1_kS";
376        case Slot2_kP: return "Slot2_kP";
377        case Slot2_kI: return "Slot2_kI";
378        case Slot2_kD: return "Slot2_kD";
379        case Slot2_kV: return "Slot2_kV";
380        case Slot2_kS: return "Slot2_kS";
381        case Config_Inverted: return "Config_Inverted";
382        case Config_SupplyVLowpassTau: return "Config_SupplyVLowpassTau";
383        case Config_BeepOnBoot: return "Config_BeepOnBoot";
384        case Config_NeutralMode: return "Config_NeutralMode";
385        case Config_DutyCycleNeutralDB: return "Config_DutyCycleNeutralDB";
386        case Config_StatorCurrentLimit: return "Config_StatorCurrentLimit";
387        case Config_StatorCurrLimitEn: return "Config_StatorCurrLimitEn";
388        case Config_SupplyCurrentLimit: return "Config_SupplyCurrentLimit";
389        case Config_SupplyCurrLimitEn: return "Config_SupplyCurrLimitEn";
390        case Config_PeakForwardDC: return "Config_PeakForwardDC";
391        case Config_PeakReverseDC: return "Config_PeakReverseDC";
392        case Config_PeakForwardV: return "Config_PeakForwardV";
393        case Config_PeakReverseV: return "Config_PeakReverseV";
394        case Config_PeakForTorqCurr: return "Config_PeakForTorqCurr";
395        case Config_PeakRevTorqCurr: return "Config_PeakRevTorqCurr";
396        case Config_TorqueNeutralDB: return "Config_TorqueNeutralDB";
397        case Config_FeedbackRotorOffset: return "Config_FeedbackRotorOffset";
398        case Config_SensorToMechanismRatio: return "Config_SensorToMechanismRatio";
399        case Config_RotorToSensorRatio: return "Config_RotorToSensorRatio";
400        case Config_FeedbackSensorSource: return "Config_FeedbackSensorSource";
401        case Config_FeedbackRemoteSensorID: return "Config_FeedbackRemoteSensorID";
402        case Config_DutyCycleOpenLoopRampPeriod: return "Config_DutyCycleOpenLoopRampPeriod";
403        case Config_VoltageOpenLoopRampPeriod: return "Config_VoltageOpenLoopRampPeriod";
404        case Config_TorqueOpenLoopRampPeriod: return "Config_TorqueOpenLoopRampPeriod";
405        case Config_DutyCycleClosedLoopRampPeriod: return "Config_DutyCycleClosedLoopRampPeriod";
406        case Config_VoltageClosedLoopRampPeriod: return "Config_VoltageClosedLoopRampPeriod";
407        case Config_TorqueClosedLoopRampPeriod: return "Config_TorqueClosedLoopRampPeriod";
408        case Config_ForwardLimitType: return "Config_ForwardLimitType";
409        case Config_ForwardLimitAutosetPosEnable: return "Config_ForwardLimitAutosetPosEnable";
410        case Config_ForwardLimitAutosetPosValue: return "Config_ForwardLimitAutosetPosValue";
411        case Config_ForwardLimitEnable: return "Config_ForwardLimitEnable";
412        case Config_ForwardLimitSource: return "Config_ForwardLimitSource";
413        case Config_ForwardLimitRemoteSensorID: return "Config_ForwardLimitRemoteSensorID";
414        case Config_ReverseLimitType: return "Config_ReverseLimitType";
415        case Config_ReverseLimitAutosetPosEnable: return "Config_ReverseLimitAutosetPosEnable";
416        case Config_ReverseLimitAutosetPosValue: return "Config_ReverseLimitAutosetPosValue";
417        case Config_ReverseLimitEnable: return "Config_ReverseLimitEnable";
418        case Config_ReverseLimitSource: return "Config_ReverseLimitSource";
419        case Config_ReverseLimitRemoteSensorID: return "Config_ReverseLimitRemoteSensorID";
420        case Config_ForwardSoftLimitEnable: return "Config_ForwardSoftLimitEnable";
421        case Config_ReverseSoftLimitEnable: return "Config_ReverseSoftLimitEnable";
422        case Config_ForwardSoftLimitThreshold: return "Config_ForwardSoftLimitThreshold";
423        case Config_ReverseSoftLimitThreshold: return "Config_ReverseSoftLimitThreshold";
424        case Config_MotionMagicCruiseVelocity: return "Config_MotionMagicCruiseVelocity";
425        case Config_MotionMagicAcceleration: return "Config_MotionMagicAcceleration";
426        case Config_MotionMagicJerk: return "Config_MotionMagicJerk";
427        case CANcoder_Velocity: return "CANcoder_Velocity";
428        case CANcoder_Position: return "CANcoder_Position";
429        case CANcoder_AbsPosition: return "CANcoder_AbsPosition";
430        case CANCoder_RawVel: return "CANCoder_RawVel";
431        case CANCoder_RawPos: return "CANCoder_RawPos";
432        case CANCoder_SupplyVoltage: return "CANCoder_SupplyVoltage";
433        case CANcoder_MagHealth: return "CANcoder_MagHealth";
434        case PRO_MotorOutput_BridgeType_Public: return "PRO_MotorOutput_BridgeType_Public";
435        case Config_ContinuousWrap: return "Config_ContinuousWrap";
436        case Config_SupplyCurrThres: return "Config_SupplyCurrThres";
437        case Config_SupplyTimeThres: return "Config_SupplyTimeThres";
438        case Fault_Hardware: return "Fault_Hardware";
439        case StickyFault_Hardware: return "StickyFault_Hardware";
440        case Fault_ProcTemp: return "Fault_ProcTemp";
441        case StickyFault_ProcTemp: return "StickyFault_ProcTemp";
442        case Fault_DeviceTemp: return "Fault_DeviceTemp";
443        case StickyFault_DeviceTemp: return "StickyFault_DeviceTemp";
444        case Fault_Undervoltage: return "Fault_Undervoltage";
445        case StickyFault_Undervoltage: return "StickyFault_Undervoltage";
446        case Fault_BootDuringEnable: return "Fault_BootDuringEnable";
447        case StickyFault_BootDuringEnable: return "StickyFault_BootDuringEnable";
448        case Fault_PIGEON2_BootupAccel: return "Fault_PIGEON2_BootupAccel";
449        case StickyFault_PIGEON2_BootupAccel: return "StickyFault_PIGEON2_BootupAccel";
450        case Fault_PIGEON2_BootupGyros: return "Fault_PIGEON2_BootupGyros";
451        case StickyFault_PIGEON2_BootupGyros: return "StickyFault_PIGEON2_BootupGyros";
452        case Fault_PIGEON2_BootupMagne: return "Fault_PIGEON2_BootupMagne";
453        case StickyFault_PIGEON2_BootupMagne: return "StickyFault_PIGEON2_BootupMagne";
454        case Fault_PIGEON2_BootIntoMotion: return "Fault_PIGEON2_BootIntoMotion";
455        case StickyFault_PIGEON2_BootIntoMotion: return "StickyFault_PIGEON2_BootIntoMotion";
456        case Fault_PIGEON2_DataAcquiredLate: return "Fault_PIGEON2_DataAcquiredLate";
457        case StickyFault_PIGEON2_DataAcquiredLate: return "StickyFault_PIGEON2_DataAcquiredLate";
458        case Fault_PIGEON2_LoopTimeSlow: return "Fault_PIGEON2_LoopTimeSlow";
459        case StickyFault_PIGEON2_LoopTimeSlow: return "StickyFault_PIGEON2_LoopTimeSlow";
460        case Fault_PIGEON2_SaturatedMagne: return "Fault_PIGEON2_SaturatedMagne";
461        case StickyFault_PIGEON2_SaturatedMagne: return "StickyFault_PIGEON2_SaturatedMagne";
462        case Fault_PIGEON2_SaturatedAccel: return "Fault_PIGEON2_SaturatedAccel";
463        case StickyFault_PIGEON2_SaturatedAccel: return "StickyFault_PIGEON2_SaturatedAccel";
464        case Fault_PIGEON2_SaturatedGyros: return "Fault_PIGEON2_SaturatedGyros";
465        case StickyFault_PIGEON2_SaturatedGyros: return "StickyFault_PIGEON2_SaturatedGyros";
466        case Fault_CANCODER_BadMagnet: return "Fault_CANCODER_BadMagnet";
467        case StickyFault_CANCODER_BadMagnet: return "StickyFault_CANCODER_BadMagnet";
468        case Fault_TALONFX_OverSupplyV: return "Fault_TALONFX_OverSupplyV";
469        case StickyFault_TALONFX_OverSupplyV: return "StickyFault_TALONFX_OverSupplyV";
470        case Fault_TALONFX_UnstableSupplyV: return "Fault_TALONFX_UnstableSupplyV";
471        case StickyFault_TALONFX_UnstableSupplyV: return "StickyFault_TALONFX_UnstableSupplyV";
472        case Fault_TALONFX_ReverseHardLimit: return "Fault_TALONFX_ReverseHardLimit";
473        case StickyFault_TALONFX_ReverseHardLimit: return "StickyFault_TALONFX_ReverseHardLimit";
474        case Fault_TALONFX_ForwardHardLimit: return "Fault_TALONFX_ForwardHardLimit";
475        case StickyFault_TALONFX_ForwardHardLimit: return "StickyFault_TALONFX_ForwardHardLimit";
476        case Fault_TALONFX_ReverseSoftLimit: return "Fault_TALONFX_ReverseSoftLimit";
477        case StickyFault_TALONFX_ReverseSoftLimit: return "StickyFault_TALONFX_ReverseSoftLimit";
478        case Fault_TALONFX_ForwardSoftLimit: return "Fault_TALONFX_ForwardSoftLimit";
479        case StickyFault_TALONFX_ForwardSoftLimit: return "StickyFault_TALONFX_ForwardSoftLimit";
480        case Fault_TALONFX_MissingRemoteSensor: return "Fault_TALONFX_MissingRemoteSensor";
481        case StickyFault_TALONFX_MissingRemoteSensor: return "StickyFault_TALONFX_MissingRemoteSensor";
482        case Fault_TALONFX_FusedSensorOutOfSync: return "Fault_TALONFX_FusedSensorOutOfSync";
483        case StickyFault_TALONFX_FusedSensorOutOfSync: return "StickyFault_TALONFX_FusedSensorOutOfSync";
484        case Fault_TALONFX_StatorCurrLimit: return "Fault_TALONFX_StatorCurrLimit";
485        case StickyFault_TALONFX_StatorCurrLimit: return "StickyFault_TALONFX_StatorCurrLimit";
486        case Fault_TALONFX_SupplyCurrLimit: return "Fault_TALONFX_SupplyCurrLimit";
487        case StickyFault_TALONFX_SupplyCurrLimit: return "StickyFault_TALONFX_SupplyCurrLimit";
488            default:
489                return "Invalid Value";
490        }
491    }
492}