001/* Copyright (C) Cross The Road Electronics 2024 */
002package com.ctre.phoenix;
003
004/**
005 * All the params available to Phoenix
006 */
007public enum ParamEnum
008        {
009        eOnBoot_BrakeMode ( 31),
010        eQuadFilterEn ( 91),
011        eQuadIdxPolarity(108),
012    eMotionProfileHasUnderrunErr (119),
013    eMotionProfileTrajectoryPointDurationMs (120), //motionProfileTrajectoryPeriod
014
015        eStatusFramePeriod(300),
016        eOpenloopRamp(301),
017        eClosedloopRamp(302),
018        eNeutralDeadband(303),
019
020        ePeakPosOutput(305),
021        eNominalPosOutput(306),
022        ePeakNegOutput(307),
023        eNominalNegOutput(308),
024
025        eProfileParamSlot_P(310),
026        eProfileParamSlot_I(311),
027        eProfileParamSlot_D(312),
028        eProfileParamSlot_F(313),
029        eProfileParamSlot_IZone(314),
030        eProfileParamSlot_AllowableErr(315),
031        eProfileParamSlot_MaxIAccum(316),
032        eProfileParamSlot_PeakOutput(317),
033
034        eClearPositionOnLimitF(320),
035        eClearPositionOnLimitR(321),
036        eClearPositionOnQuadIdx(322),
037
038        eSampleVelocityPeriod(325),
039        eSampleVelocityWindow(326),
040
041        eFeedbackSensorType(330),
042    eSelectedSensorPosition(331),
043        eFeedbackNotContinuous (332),
044        eRemoteSensorSource (333), // RemoteSensorSource_t
045        eRemoteSensorDeviceID (334), // [0,62] DeviceID
046        eSensorTerm (335), // feedbackDevice_t (ordinal is the register)
047        eRemoteSensorClosedLoopDisableNeutralOnLOS (336),
048        ePIDLoopPolarity(337),
049        ePIDLoopPeriod(338),
050        eSelectedSensorCoefficient(339),
051
052        eForwardSoftLimitThreshold(340),
053        eReverseSoftLimitThreshold(341),
054        eForwardSoftLimitEnable(342),
055        eReverseSoftLimitEnable(343),
056
057        eNominalBatteryVoltage(350),
058        eBatteryVoltageFilterSize(351),
059
060        eContinuousCurrentLimitAmps(360),
061        ePeakCurrentLimitMs(361),
062        ePeakCurrentLimitAmps(362),
063
064        eClosedLoopIAccum(370),
065
066        eCustomParam(380),
067
068        eStickyFaults(390),
069
070        eAnalogPosition(400),
071        eQuadraturePosition(401),
072        ePulseWidthPosition(402),
073
074        eMotMag_Accel(410),
075        eMotMag_VelCruise(411),
076        eMotMag_SCurveLevel(412),
077
078        eLimitSwitchSource (421), // ordinal (fwd=0,reverse=1), @see LimitSwitchSource_t
079        eLimitSwitchNormClosedAndDis ( 422), // ordinal (fwd=0,reverse=1). @see LimitSwitchNormClosedAndDis_t
080        eLimitSwitchDisableNeutralOnLOS ( 423),
081        eLimitSwitchRemoteDevID ( 424),
082        eSoftLimitDisableNeutralOnLOS(425),
083
084        ePulseWidthPeriod_EdgesPerRot(430),
085        ePulseWidthPeriod_FilterWindowSz(431),
086
087        eYawOffset(160),
088        eCompassOffset(161),
089        eBetaGain(162),
090        eEnableCompassFusion(163),
091        eGyroNoMotionCal (      164),
092        eEnterCalibration (     165),
093        eFusedHeadingOffset     ( 166),
094        eStatusFrameRate        ( 169),
095        eAccumZ ( 170),
096        eTempCompDisable        ( 171),
097        eMotionMeas_tap_threshX ( 172),
098        eMotionMeas_tap_threshY ( 173),
099        eMotionMeas_tap_threshZ ( 174),
100        eMotionMeas_tap_count ( 175),
101        eMotionMeas_tap_time ( 176),
102        eMotionMeas_tap_time_multi ( 177),
103        eMotionMeas_shake_reject_thresh ( 178),
104        eMotionMeas_shake_reject_time ( 179),
105        eMotionMeas_shake_reject_timeout ( 180),
106        
107        eDefaultConfig(500),
108
109        /* CANCoder */
110        eSensorInitStrategy(700),
111        eSensorDirection(701),
112        eMagnetOffset(702),
113        eSensorSync(703),
114        eAbsSensorRange(704),
115
116        /* Pigeon2 */
117    eChangeCompassUse(800),
118    eRestartKalman(801),
119    eAccNoiseAmplificationGain(802),
120    eMagNoiseAmplificationGain(803),
121    eGyrNoiseAmplificationGain(804),
122    eMaxAccKg(805),
123    eMaxMagKg(806),
124    eGyroBias(807),
125    eAccelOffsets(808),
126    eMagCal(809),
127    eMagCalSlot(810),
128    eMagCalRunning(811),
129    eGyrResolution(812),
130    eAccelKalmanBiasGain(813),
131    eMagKalmanBiasGain(814),
132    eTempCalRunning(815),
133    eApplyTempCal(816),
134    eClearTempCal(817),
135    eDontRunThermComp(818),
136    eChangeHeatOutput(819),
137    eSetNoMotionCalDisable(820),
138    eClearMagCal(821),
139    eSetGyrSensitivity(822),
140    eSetVsenseScalar(823),
141    eConfigMountPoseYaw(824),
142    eConfigMountPosePitch(825),
143    eConfigMountPoseRoll(826),
144    eConfigAccelScalar(827),
145    eConfigGyroScalarX(828),
146    eConfigGyroScalarY(829),
147    eConfigGyroScalarZ(830),
148    eCustomParam0(831),
149    eCustomParam1(832),
150
151        /* CANdle */
152    eLEDStripType(900),
153    eLossOfSignalBehavior(901), 
154    eBrightnessCoefficient(902),
155        eStatusLedState(903),
156        eVBatOutput(904),
157        eV5Enabled(905);
158
159        public final int value;
160        ParamEnum(int initValue)
161        {
162                this.value = initValue;
163        }
164};