28 static constexpr int TalonFX_System_State = 612;
29 static constexpr int Startup_ResetFlags = 633;
30 static constexpr int Version_Major = 731;
31 static constexpr int Version_Minor = 732;
32 static constexpr int Version_Bugfix = 733;
33 static constexpr int Version_Build = 734;
34 static constexpr int Version_Full = 735;
35 static constexpr int Licensing_IsProLicensed = 748;
36 static constexpr int CustomParam0 = 816;
37 static constexpr int CustomParam1 = 817;
38 static constexpr int CANcoder_SensorDirection = 821;
39 static constexpr int FrcLock = 823;
40 static constexpr int RobotEnabled = 824;
41 static constexpr int LED1_OnColor = 826;
42 static constexpr int LED1_OffColor = 827;
43 static constexpr int LED2_OnColor = 828;
44 static constexpr int LED2_OffColor = 829;
45 static constexpr int AllFaults = 835;
46 static constexpr int AllStickyFaults = 836;
47 static constexpr int Pigeon2UseCompass = 910;
48 static constexpr int Pigeon2DisableTemperatureCompensation = 945;
49 static constexpr int Pigeon2DisableNoMotionCalibration = 947;
50 static constexpr int Pigeon2MountPoseYaw = 952;
51 static constexpr int Pigeon2MountPosePitch = 953;
52 static constexpr int Pigeon2MountPoseRoll = 954;
53 static constexpr int Pigeon2GyroScalarX = 958;
54 static constexpr int Pigeon2GyroScalarY = 959;
55 static constexpr int Pigeon2GyroScalarZ = 960;
56 static constexpr int Pigeon2Yaw = 967;
57 static constexpr int Pigeon2Pitch = 968;
58 static constexpr int Pigeon2Roll = 969;
59 static constexpr int Pigeon2QuatW = 970;
60 static constexpr int Pigeon2QuatX = 971;
61 static constexpr int Pigeon2QuatY = 972;
62 static constexpr int Pigeon2QuatZ = 973;
63 static constexpr int Pigeon2GravityVectorX = 974;
64 static constexpr int Pigeon2GravityVectorY = 975;
65 static constexpr int Pigeon2GravityVectorZ = 976;
66 static constexpr int Pigeon2Temperature = 977;
67 static constexpr int Pigeon2NoMotionCalEnabled = 978;
68 static constexpr int Pigeon2NoMotionCount = 979;
69 static constexpr int Pigeon2TempCompDisabled = 980;
70 static constexpr int Pigeon2UpTime = 981;
71 static constexpr int Pigeon2AccumGyroX = 982;
72 static constexpr int Pigeon2AccumGyroY = 983;
73 static constexpr int Pigeon2AccumGyroZ = 984;
74 static constexpr int Pigeon2AngularVelocityX = 985;
75 static constexpr int Pigeon2AngularVelocityY = 986;
76 static constexpr int Pigeon2AngularVelocityZ = 987;
77 static constexpr int Pigeon2AccelerationX = 988;
78 static constexpr int Pigeon2AccelerationY = 989;
79 static constexpr int Pigeon2AccelerationZ = 990;
80 static constexpr int Pigeon2_SupplyVoltage = 991;
81 static constexpr int Pigeon2MagneticFieldX = 996;
82 static constexpr int Pigeon2MagneticFieldY = 997;
83 static constexpr int Pigeon2MagneticFieldZ = 998;
84 static constexpr int Pigeon2RawMagneticFieldX = 999;
85 static constexpr int Pigeon2RawMagneticFieldY = 1000;
86 static constexpr int Pigeon2RawMagneticFieldZ = 1001;
87 static constexpr int CANCoder_MagnetOffset = 1002;
88 static constexpr int CANcoder_AbsoluteSensorRange = 1003;
89 static constexpr int TalonFX_SetSensorPosition = 1007;
90 static constexpr int CANCoder_SetSensorPosition = 1009;
91 static constexpr int Pigeon2_SetYaw = 1011;
92 static constexpr int DeviceEnabled = 1040;
93 static constexpr int PRO_MotorOutput_MotorVoltage = 1907;
94 static constexpr int ForwardLimit = 1908;
95 static constexpr int ReverseLimit = 1909;
96 static constexpr int PRO_MotorOutput_RotorPolarity = 1910;
97 static constexpr int PRO_MotorOutput_DutyCycle = 1911;
98 static constexpr int PRO_MotorOutput_TorqueCurrent = 1913;
99 static constexpr int PRO_SupplyAndTemp_StatorCurrent = 1914;
100 static constexpr int PRO_SupplyAndTemp_SupplyCurrent = 1915;
101 static constexpr int PRO_SupplyAndTemp_SupplyVoltage = 1916;
102 static constexpr int PRO_SupplyAndTemp_DeviceTemp = 1917;
103 static constexpr int PRO_SupplyAndTemp_ProcessorTemp = 1918;
104 static constexpr int PRO_RotorPosAndVel_Velocity = 1920;
105 static constexpr int PRO_RotorPosAndVel_Position = 1921;
106 static constexpr int PRO_PosAndVel_Velocity = 1924;
107 static constexpr int PRO_PosAndVel_Position = 1925;
108 static constexpr int PRO_PosAndVel_Acceleration = 1926;
109 static constexpr int PRO_PIDStateEnables_IntegratedAccum_DC = 1928;
110 static constexpr int PRO_PIDStateEnables_IntegratedAccum_V = 1929;
111 static constexpr int PRO_PIDStateEnables_IntegratedAccum_A = 1930;
112 static constexpr int PRO_PIDStateEnables_FeedForward_DC = 1931;
113 static constexpr int PRO_PIDStateEnables_FeedForward_V = 1932;
114 static constexpr int PRO_PIDStateEnables_FeedForward_A = 1933;
115 static constexpr int TalonFX_ControlMode = 1934;
116 static constexpr int PRO_PIDStateEnables_IsMotionMagicRunning = 1935;
117 static constexpr int PRO_PIDStateEnables_DeviceEnable = 1937;
118 static constexpr int PRO_PIDRefPIDErr_PIDRef_Position = 1939;
119 static constexpr int PRO_PIDRefPIDErr_PIDRef_Velocity = 1940;
120 static constexpr int PRO_PIDRefPIDErr_PIDErr_Position = 1941;
121 static constexpr int PRO_PIDRefPIDErr_PIDErr_Velocity = 1942;
122 static constexpr int PRO_PIDOutput_ProportionalOutput_DC = 1944;
123 static constexpr int PRO_PIDOutput_ProportionalOutput_V = 1945;
124 static constexpr int PRO_PIDOutput_ProportionalOutput_A = 1946;
125 static constexpr int PRO_PIDOutput_DerivativeOutput_DC = 1947;
126 static constexpr int PRO_PIDOutput_DerivativeOutput_V = 1948;
127 static constexpr int PRO_PIDOutput_DerivativeOutput_A = 1949;
128 static constexpr int PRO_PIDOutput_Output_DC = 1950;
129 static constexpr int PRO_PIDOutput_Output_V = 1951;
130 static constexpr int PRO_PIDOutput_Output_A = 1952;
131 static constexpr int PRO_PIDOutput_Slot = 1953;
132 static constexpr int PRO_PIDRefSlopeECUTime_ReferenceSlope_Position = 1954;
133 static constexpr int PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity = 1955;
134 static constexpr int PRO_MotorOutput_PIDState_Diff_DutyCycle = 1958;
135 static constexpr int PRO_MotorOutput_PIDState_Diff_TorqueCurrent = 1959;
136 static constexpr int TalonFX_DifferentialControlMode = 1962;
137 static constexpr int PRO_MotorOutput_PIDState_Diff_IntegratedAccum_DC = 1963;
138 static constexpr int PRO_MotorOutput_PIDState_Diff_IntegratedAccum_V = 1964;
139 static constexpr int PRO_MotorOutput_PIDState_Diff_IntegratedAccum_A = 1965;
140 static constexpr int PRO_MotorOutput_PIDState_Diff_FeedForward_DC = 1966;
141 static constexpr int PRO_MotorOutput_PIDState_Diff_FeedForward_V = 1967;
142 static constexpr int PRO_MotorOutput_PIDState_Diff_FeedForward_A = 1968;
143 static constexpr int PRO_AvgPosAndVel_Velocity = 1970;
144 static constexpr int PRO_AvgPosAndVel_Position = 1971;
145 static constexpr int PRO_DiffPosAndVel_Velocity = 1974;
146 static constexpr int PRO_DiffPosAndVel_Position = 1975;
147 static constexpr int PRO_DiffPIDRefPIDErr_PIDRef_Position = 1977;
148 static constexpr int PRO_DiffPIDRefPIDErr_PIDRef_Velocity = 1978;
149 static constexpr int PRO_DiffPIDRefPIDErr_PIDErr_Position = 1979;
150 static constexpr int PRO_DiffPIDRefPIDErr_PIDErr_Velocity = 1980;
151 static constexpr int PRO_DiffPIDOutput_ProportionalOutput_DC = 1982;
152 static constexpr int PRO_DiffPIDOutput_ProportionalOutput_V = 1983;
153 static constexpr int PRO_DiffPIDOutput_ProportionalOutput_A = 1984;
154 static constexpr int PRO_DiffPIDOutput_DerivativeOutput_DC = 1985;
155 static constexpr int PRO_DiffPIDOutput_DerivativeOutput_V = 1986;
156 static constexpr int PRO_DiffPIDOutput_DerivativeOutput_A = 1987;
157 static constexpr int PRO_DiffPIDOutput_Output_DC = 1988;
158 static constexpr int PRO_DiffPIDOutput_Output_V = 1989;
159 static constexpr int PRO_DiffPIDOutput_Output_A = 1990;
160 static constexpr int PRO_DiffPIDOutput_Slot = 1991;
161 static constexpr int PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Position = 1992;
162 static constexpr int PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Velocity = 1993;
163 static constexpr int Slot0_kP = 1995;
164 static constexpr int Slot0_kI = 1996;
165 static constexpr int Slot0_kD = 1997;
166 static constexpr int Slot0_kS = 1998;
167 static constexpr int Slot0_kV = 1999;
168 static constexpr int Slot0_kA = 2000;
169 static constexpr int Slot0_kG = 2001;
170 static constexpr int Slot0_kG_Type = 2002;
171 static constexpr int Slot1_kP = 2003;
172 static constexpr int Slot1_kI = 2004;
173 static constexpr int Slot1_kD = 2005;
174 static constexpr int Slot1_kS = 2006;
175 static constexpr int Slot1_kV = 2007;
176 static constexpr int Slot1_kA = 2008;
177 static constexpr int Slot1_kG = 2009;
178 static constexpr int Slot1_kG_Type = 2010;
179 static constexpr int Slot2_kP = 2011;
180 static constexpr int Slot2_kI = 2012;
181 static constexpr int Slot2_kD = 2013;
182 static constexpr int Slot2_kS = 2014;
183 static constexpr int Slot2_kV = 2015;
184 static constexpr int Slot2_kA = 2016;
185 static constexpr int Slot2_kG = 2017;
186 static constexpr int Slot2_kG_Type = 2018;
187 static constexpr int Config_Inverted = 2019;
188 static constexpr int Config_SupplyVLowpassTau = 2020;
189 static constexpr int Config_BeepOnBoot = 2021;
190 static constexpr int Config_NeutralMode = 2022;
191 static constexpr int Config_DutyCycleNeutralDB = 2023;
192 static constexpr int Config_StatorCurrentLimit = 2024;
193 static constexpr int Config_StatorCurrLimitEn = 2025;
194 static constexpr int Config_SupplyCurrentLimit = 2026;
195 static constexpr int Config_SupplyCurrLimitEn = 2027;
196 static constexpr int Config_PeakForwardDC = 2028;
197 static constexpr int Config_PeakReverseDC = 2029;
198 static constexpr int Config_PeakForwardV = 2030;
199 static constexpr int Config_PeakReverseV = 2031;
200 static constexpr int Config_PeakForTorqCurr = 2032;
201 static constexpr int Config_PeakRevTorqCurr = 2033;
202 static constexpr int Config_TorqueNeutralDB = 2034;
203 static constexpr int Config_FeedbackRotorOffset = 2035;
204 static constexpr int Config_SensorToMechanismRatio = 2036;
205 static constexpr int Config_RotorToSensorRatio = 2037;
206 static constexpr int Config_FeedbackSensorSource = 2038;
207 static constexpr int Config_FeedbackRemoteSensorID = 2039;
208 static constexpr int Config_DutyCycleOpenLoopRampPeriod = 2040;
209 static constexpr int Config_VoltageOpenLoopRampPeriod = 2041;
210 static constexpr int Config_TorqueOpenLoopRampPeriod = 2042;
211 static constexpr int Config_DutyCycleClosedLoopRampPeriod = 2043;
212 static constexpr int Config_VoltageClosedLoopRampPeriod = 2044;
213 static constexpr int Config_TorqueClosedLoopRampPeriod = 2045;
214 static constexpr int Config_ForwardLimitType = 2046;
215 static constexpr int Config_ForwardLimitAutosetPosEnable = 2047;
216 static constexpr int Config_ForwardLimitAutosetPosValue = 2048;
217 static constexpr int Config_ForwardLimitEnable = 2049;
218 static constexpr int Config_ForwardLimitSource = 2050;
219 static constexpr int Config_ForwardLimitRemoteSensorID = 2051;
220 static constexpr int Config_ReverseLimitType = 2052;
221 static constexpr int Config_ReverseLimitAutosetPosEnable = 2053;
222 static constexpr int Config_ReverseLimitAutosetPosValue = 2054;
223 static constexpr int Config_ReverseLimitEnable = 2055;
224 static constexpr int Config_ReverseLimitSource = 2056;
225 static constexpr int Config_ReverseLimitRemoteSensorID = 2057;
226 static constexpr int Config_ForwardSoftLimitEnable = 2058;
227 static constexpr int Config_ReverseSoftLimitEnable = 2059;
228 static constexpr int Config_ForwardSoftLimitThreshold = 2060;
229 static constexpr int Config_ReverseSoftLimitThreshold = 2061;
230 static constexpr int Config_MotionMagicCruiseVelocity = 2062;
231 static constexpr int Config_MotionMagicAcceleration = 2063;
232 static constexpr int Config_MotionMagicJerk = 2064;
233 static constexpr int Config_PeakDiffDC = 2065;
234 static constexpr int Config_PeakDiffV = 2066;
235 static constexpr int Config_PeakDiffTorqCurr = 2067;
236 static constexpr int CANcoder_Velocity = 2068;
237 static constexpr int CANcoder_Position = 2069;
238 static constexpr int CANcoder_AbsPosition = 2070;
239 static constexpr int CANCoder_RawVel = 2072;
240 static constexpr int CANCoder_RawPos = 2073;
241 static constexpr int CANCoder_SupplyVoltage = 2074;
242 static constexpr int CANcoder_MagHealth = 2075;
243 static constexpr int SPN_ClearStickyFaults = 2077;
244 static constexpr int PRO_MotorOutput_BridgeType_Public = 2078;
245 static constexpr int Config_ContinuousWrap = 2100;
246 static constexpr int Config_SupplyCurrThres = 2106;
247 static constexpr int Config_SupplyTimeThres = 2107;
248 static constexpr int Config_DifferentialSensorSource = 2121;
249 static constexpr int Config_DifferentialTalonFXSensorID = 2122;
250 static constexpr int Config_DifferentialRemoteSensorID = 2123;
251 static constexpr int Config_BeepOnConfig = 2162;
252 static constexpr int Config_AllowMusicDurDisable = 2163;
253 static constexpr int Compliancy_Version = 2164;
254 static constexpr int Version_IsProLicensed = 2165;
255 static constexpr int Fault_Hardware = 10001;
256 static constexpr int StickyFault_Hardware = 10002;
257 static constexpr int ClearStickyFault_Hardware = 10003;
258 static constexpr int Fault_ProcTemp = 10004;
259 static constexpr int StickyFault_ProcTemp = 10005;
260 static constexpr int ClearStickyFault_ProcTemp = 10006;
261 static constexpr int Fault_DeviceTemp = 10007;
262 static constexpr int StickyFault_DeviceTemp = 10008;
263 static constexpr int ClearStickyFault_DeviceTemp = 10009;
264 static constexpr int Fault_Undervoltage = 10010;
265 static constexpr int StickyFault_Undervoltage = 10011;
266 static constexpr int ClearStickyFault_Undervoltage = 10012;
267 static constexpr int Fault_BootDuringEnable = 10013;
268 static constexpr int StickyFault_BootDuringEnable = 10014;
269 static constexpr int ClearStickyFault_BootDuringEnable = 10015;
270 static constexpr int Fault_UnlicensedFeatureInUse = 10016;
271 static constexpr int StickyFault_UnlicensedFeatureInUse = 10017;
272 static constexpr int Fault_PIGEON2_BootupAccel = 10019;
273 static constexpr int StickyFault_PIGEON2_BootupAccel = 10020;
274 static constexpr int ClearStickyFault_PIGEON2_BootupAccel = 10021;
275 static constexpr int Fault_PIGEON2_BootupGyros = 10022;
276 static constexpr int StickyFault_PIGEON2_BootupGyros = 10023;
277 static constexpr int ClearStickyFault_PIGEON2_BootupGyros = 10024;
278 static constexpr int Fault_PIGEON2_BootupMagne = 10025;
279 static constexpr int StickyFault_PIGEON2_BootupMagne = 10026;
280 static constexpr int ClearStickyFault_PIGEON2_BootupMagne = 10027;
281 static constexpr int Fault_PIGEON2_BootIntoMotion = 10028;
282 static constexpr int StickyFault_PIGEON2_BootIntoMotion = 10029;
283 static constexpr int ClearStickyFault_PIGEON2_BootIntoMotion = 10030;
284 static constexpr int Fault_PIGEON2_DataAcquiredLate = 10031;
285 static constexpr int StickyFault_PIGEON2_DataAcquiredLate = 10032;
286 static constexpr int ClearStickyFault_PIGEON2_DataAcquiredLate = 10033;
287 static constexpr int Fault_PIGEON2_LoopTimeSlow = 10034;
288 static constexpr int StickyFault_PIGEON2_LoopTimeSlow = 10035;
289 static constexpr int ClearStickyFault_PIGEON2_LoopTimeSlow = 10036;
290 static constexpr int Fault_PIGEON2_SaturatedMagne = 10037;
291 static constexpr int StickyFault_PIGEON2_SaturatedMagne = 10038;
292 static constexpr int ClearStickyFault_PIGEON2_SaturatedMagne = 10039;
293 static constexpr int Fault_PIGEON2_SaturatedAccel = 10040;
294 static constexpr int StickyFault_PIGEON2_SaturatedAccel = 10041;
295 static constexpr int ClearStickyFault_PIGEON2_SaturatedAccel = 10042;
296 static constexpr int Fault_PIGEON2_SaturatedGyros = 10043;
297 static constexpr int StickyFault_PIGEON2_SaturatedGyros = 10044;
298 static constexpr int ClearStickyFault_PIGEON2_SaturatedGyros = 10045;
299 static constexpr int Fault_CANCODER_BadMagnet = 10046;
300 static constexpr int StickyFault_CANCODER_BadMagnet = 10047;
301 static constexpr int ClearStickyFault_CANCODER_BadMagnet = 10048;
302 static constexpr int Fault_TALONFX_BridgeBrownout = 10049;
303 static constexpr int StickyFault_TALONFX_BridgeBrownout = 10050;
304 static constexpr int ClearStickyFault_TALONFX_BridgeBrownout = 10051;
305 static constexpr int Fault_TALONFX_RemoteSensorReset = 10052;
306 static constexpr int StickyFault_TALONFX_RemoteSensorReset = 10053;
307 static constexpr int ClearStickyFault_TALONFX_RemoteSensorReset = 10054;
308 static constexpr int Fault_TALONFX_MissingDifferentialFX = 10055;
309 static constexpr int StickyFault_TALONFX_MissingDifferentialFX = 10056;
310 static constexpr int ClearStickyFault_TALONFX_MissingDifferentialFX = 10057;
311 static constexpr int Fault_TALONFX_RemoteSensorPosOverflow = 10058;
312 static constexpr int StickyFault_TALONFX_RemoteSensorPosOverflow = 10059;
313 static constexpr int ClearStickyFault_TALONFX_RemoteSensorPosOverflow = 10060;
314 static constexpr int Fault_TALONFX_OverSupplyV = 10061;
315 static constexpr int StickyFault_TALONFX_OverSupplyV = 10062;
316 static constexpr int ClearStickyFault_TALONFX_OverSupplyV = 10063;
317 static constexpr int Fault_TALONFX_UnstableSupplyV = 10064;
318 static constexpr int StickyFault_TALONFX_UnstableSupplyV = 10065;
319 static constexpr int ClearStickyFault_TALONFX_UnstableSupplyV = 10066;
320 static constexpr int Fault_TALONFX_ReverseHardLimit = 10067;
321 static constexpr int StickyFault_TALONFX_ReverseHardLimit = 10068;
322 static constexpr int ClearStickyFault_TALONFX_ReverseHardLimit = 10069;
323 static constexpr int Fault_TALONFX_ForwardHardLimit = 10070;
324 static constexpr int StickyFault_TALONFX_ForwardHardLimit = 10071;
325 static constexpr int ClearStickyFault_TALONFX_ForwardHardLimit = 10072;
326 static constexpr int Fault_TALONFX_ReverseSoftLimit = 10073;
327 static constexpr int StickyFault_TALONFX_ReverseSoftLimit = 10074;
328 static constexpr int ClearStickyFault_TALONFX_ReverseSoftLimit = 10075;
329 static constexpr int Fault_TALONFX_ForwardSoftLimit = 10076;
330 static constexpr int StickyFault_TALONFX_ForwardSoftLimit = 10077;
331 static constexpr int ClearStickyFault_TALONFX_ForwardSoftLimit = 10078;
332 static constexpr int Fault_TALONFX_MissingRemoteSensor = 10085;
333 static constexpr int StickyFault_TALONFX_MissingRemoteSensor = 10086;
334 static constexpr int ClearStickyFault_TALONFX_MissingRemoteSensor = 10087;
335 static constexpr int Fault_TALONFX_FusedSensorOutOfSync = 10088;
336 static constexpr int StickyFault_TALONFX_FusedSensorOutOfSync = 10089;
337 static constexpr int ClearStickyFault_TALONFX_FusedSensorOutOfSync = 10090;
338 static constexpr int Fault_TALONFX_StatorCurrLimit = 10091;
339 static constexpr int StickyFault_TALONFX_StatorCurrLimit = 10092;
340 static constexpr int ClearStickyFault_TALONFX_StatorCurrLimit = 10093;
341 static constexpr int Fault_TALONFX_SupplyCurrLimit = 10094;
342 static constexpr int StickyFault_TALONFX_SupplyCurrLimit = 10095;
343 static constexpr int ClearStickyFault_TALONFX_SupplyCurrLimit = 10096;
344 static constexpr int Fault_TALONFX_UsingFusedCCWhileUnlicensed = 10097;
345 static constexpr int StickyFault_TALONFX_UsingFusedCCWhileUnlicensed = 10098;
352 std::string ToString()
const
356 case SpnValue::TalonFX_System_State:
return "TalonFX_System_State";
357 case SpnValue::Startup_ResetFlags:
return "Startup_ResetFlags";
358 case SpnValue::Version_Major:
return "Version_Major";
359 case SpnValue::Version_Minor:
return "Version_Minor";
360 case SpnValue::Version_Bugfix:
return "Version_Bugfix";
361 case SpnValue::Version_Build:
return "Version_Build";
362 case SpnValue::Version_Full:
return "Version_Full";
363 case SpnValue::Licensing_IsProLicensed:
return "Licensing_IsProLicensed";
364 case SpnValue::CustomParam0:
return "CustomParam0";
365 case SpnValue::CustomParam1:
return "CustomParam1";
366 case SpnValue::CANcoder_SensorDirection:
return "CANcoder_SensorDirection";
367 case SpnValue::FrcLock:
return "FrcLock";
368 case SpnValue::RobotEnabled:
return "RobotEnabled";
369 case SpnValue::LED1_OnColor:
return "LED1_OnColor";
370 case SpnValue::LED1_OffColor:
return "LED1_OffColor";
371 case SpnValue::LED2_OnColor:
return "LED2_OnColor";
372 case SpnValue::LED2_OffColor:
return "LED2_OffColor";
373 case SpnValue::AllFaults:
return "AllFaults";
374 case SpnValue::AllStickyFaults:
return "AllStickyFaults";
375 case SpnValue::Pigeon2UseCompass:
return "Pigeon2UseCompass";
376 case SpnValue::Pigeon2DisableTemperatureCompensation:
return "Pigeon2DisableTemperatureCompensation";
377 case SpnValue::Pigeon2DisableNoMotionCalibration:
return "Pigeon2DisableNoMotionCalibration";
378 case SpnValue::Pigeon2MountPoseYaw:
return "Pigeon2MountPoseYaw";
379 case SpnValue::Pigeon2MountPosePitch:
return "Pigeon2MountPosePitch";
380 case SpnValue::Pigeon2MountPoseRoll:
return "Pigeon2MountPoseRoll";
381 case SpnValue::Pigeon2GyroScalarX:
return "Pigeon2GyroScalarX";
382 case SpnValue::Pigeon2GyroScalarY:
return "Pigeon2GyroScalarY";
383 case SpnValue::Pigeon2GyroScalarZ:
return "Pigeon2GyroScalarZ";
384 case SpnValue::Pigeon2Yaw:
return "Pigeon2Yaw";
385 case SpnValue::Pigeon2Pitch:
return "Pigeon2Pitch";
386 case SpnValue::Pigeon2Roll:
return "Pigeon2Roll";
387 case SpnValue::Pigeon2QuatW:
return "Pigeon2QuatW";
388 case SpnValue::Pigeon2QuatX:
return "Pigeon2QuatX";
389 case SpnValue::Pigeon2QuatY:
return "Pigeon2QuatY";
390 case SpnValue::Pigeon2QuatZ:
return "Pigeon2QuatZ";
391 case SpnValue::Pigeon2GravityVectorX:
return "Pigeon2GravityVectorX";
392 case SpnValue::Pigeon2GravityVectorY:
return "Pigeon2GravityVectorY";
393 case SpnValue::Pigeon2GravityVectorZ:
return "Pigeon2GravityVectorZ";
394 case SpnValue::Pigeon2Temperature:
return "Pigeon2Temperature";
395 case SpnValue::Pigeon2NoMotionCalEnabled:
return "Pigeon2NoMotionCalEnabled";
396 case SpnValue::Pigeon2NoMotionCount:
return "Pigeon2NoMotionCount";
397 case SpnValue::Pigeon2TempCompDisabled:
return "Pigeon2TempCompDisabled";
398 case SpnValue::Pigeon2UpTime:
return "Pigeon2UpTime";
399 case SpnValue::Pigeon2AccumGyroX:
return "Pigeon2AccumGyroX";
400 case SpnValue::Pigeon2AccumGyroY:
return "Pigeon2AccumGyroY";
401 case SpnValue::Pigeon2AccumGyroZ:
return "Pigeon2AccumGyroZ";
402 case SpnValue::Pigeon2AngularVelocityX:
return "Pigeon2AngularVelocityX";
403 case SpnValue::Pigeon2AngularVelocityY:
return "Pigeon2AngularVelocityY";
404 case SpnValue::Pigeon2AngularVelocityZ:
return "Pigeon2AngularVelocityZ";
405 case SpnValue::Pigeon2AccelerationX:
return "Pigeon2AccelerationX";
406 case SpnValue::Pigeon2AccelerationY:
return "Pigeon2AccelerationY";
407 case SpnValue::Pigeon2AccelerationZ:
return "Pigeon2AccelerationZ";
408 case SpnValue::Pigeon2_SupplyVoltage:
return "Pigeon2_SupplyVoltage";
409 case SpnValue::Pigeon2MagneticFieldX:
return "Pigeon2MagneticFieldX";
410 case SpnValue::Pigeon2MagneticFieldY:
return "Pigeon2MagneticFieldY";
411 case SpnValue::Pigeon2MagneticFieldZ:
return "Pigeon2MagneticFieldZ";
412 case SpnValue::Pigeon2RawMagneticFieldX:
return "Pigeon2RawMagneticFieldX";
413 case SpnValue::Pigeon2RawMagneticFieldY:
return "Pigeon2RawMagneticFieldY";
414 case SpnValue::Pigeon2RawMagneticFieldZ:
return "Pigeon2RawMagneticFieldZ";
415 case SpnValue::CANCoder_MagnetOffset:
return "CANCoder_MagnetOffset";
416 case SpnValue::CANcoder_AbsoluteSensorRange:
return "CANcoder_AbsoluteSensorRange";
417 case SpnValue::TalonFX_SetSensorPosition:
return "TalonFX_SetSensorPosition";
418 case SpnValue::CANCoder_SetSensorPosition:
return "CANCoder_SetSensorPosition";
419 case SpnValue::Pigeon2_SetYaw:
return "Pigeon2_SetYaw";
420 case SpnValue::DeviceEnabled:
return "DeviceEnabled";
421 case SpnValue::PRO_MotorOutput_MotorVoltage:
return "PRO_MotorOutput_MotorVoltage";
422 case SpnValue::ForwardLimit:
return "ForwardLimit";
423 case SpnValue::ReverseLimit:
return "ReverseLimit";
424 case SpnValue::PRO_MotorOutput_RotorPolarity:
return "PRO_MotorOutput_RotorPolarity";
425 case SpnValue::PRO_MotorOutput_DutyCycle:
return "PRO_MotorOutput_DutyCycle";
426 case SpnValue::PRO_MotorOutput_TorqueCurrent:
return "PRO_MotorOutput_TorqueCurrent";
427 case SpnValue::PRO_SupplyAndTemp_StatorCurrent:
return "PRO_SupplyAndTemp_StatorCurrent";
428 case SpnValue::PRO_SupplyAndTemp_SupplyCurrent:
return "PRO_SupplyAndTemp_SupplyCurrent";
429 case SpnValue::PRO_SupplyAndTemp_SupplyVoltage:
return "PRO_SupplyAndTemp_SupplyVoltage";
430 case SpnValue::PRO_SupplyAndTemp_DeviceTemp:
return "PRO_SupplyAndTemp_DeviceTemp";
431 case SpnValue::PRO_SupplyAndTemp_ProcessorTemp:
return "PRO_SupplyAndTemp_ProcessorTemp";
432 case SpnValue::PRO_RotorPosAndVel_Velocity:
return "PRO_RotorPosAndVel_Velocity";
433 case SpnValue::PRO_RotorPosAndVel_Position:
return "PRO_RotorPosAndVel_Position";
434 case SpnValue::PRO_PosAndVel_Velocity:
return "PRO_PosAndVel_Velocity";
435 case SpnValue::PRO_PosAndVel_Position:
return "PRO_PosAndVel_Position";
436 case SpnValue::PRO_PosAndVel_Acceleration:
return "PRO_PosAndVel_Acceleration";
437 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_DC:
return "PRO_PIDStateEnables_IntegratedAccum_DC";
438 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_V:
return "PRO_PIDStateEnables_IntegratedAccum_V";
439 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_A:
return "PRO_PIDStateEnables_IntegratedAccum_A";
440 case SpnValue::PRO_PIDStateEnables_FeedForward_DC:
return "PRO_PIDStateEnables_FeedForward_DC";
441 case SpnValue::PRO_PIDStateEnables_FeedForward_V:
return "PRO_PIDStateEnables_FeedForward_V";
442 case SpnValue::PRO_PIDStateEnables_FeedForward_A:
return "PRO_PIDStateEnables_FeedForward_A";
443 case SpnValue::TalonFX_ControlMode:
return "TalonFX_ControlMode";
444 case SpnValue::PRO_PIDStateEnables_IsMotionMagicRunning:
return "PRO_PIDStateEnables_IsMotionMagicRunning";
445 case SpnValue::PRO_PIDStateEnables_DeviceEnable:
return "PRO_PIDStateEnables_DeviceEnable";
446 case SpnValue::PRO_PIDRefPIDErr_PIDRef_Position:
return "PRO_PIDRefPIDErr_PIDRef_Position";
447 case SpnValue::PRO_PIDRefPIDErr_PIDRef_Velocity:
return "PRO_PIDRefPIDErr_PIDRef_Velocity";
448 case SpnValue::PRO_PIDRefPIDErr_PIDErr_Position:
return "PRO_PIDRefPIDErr_PIDErr_Position";
449 case SpnValue::PRO_PIDRefPIDErr_PIDErr_Velocity:
return "PRO_PIDRefPIDErr_PIDErr_Velocity";
450 case SpnValue::PRO_PIDOutput_ProportionalOutput_DC:
return "PRO_PIDOutput_ProportionalOutput_DC";
451 case SpnValue::PRO_PIDOutput_ProportionalOutput_V:
return "PRO_PIDOutput_ProportionalOutput_V";
452 case SpnValue::PRO_PIDOutput_ProportionalOutput_A:
return "PRO_PIDOutput_ProportionalOutput_A";
453 case SpnValue::PRO_PIDOutput_DerivativeOutput_DC:
return "PRO_PIDOutput_DerivativeOutput_DC";
454 case SpnValue::PRO_PIDOutput_DerivativeOutput_V:
return "PRO_PIDOutput_DerivativeOutput_V";
455 case SpnValue::PRO_PIDOutput_DerivativeOutput_A:
return "PRO_PIDOutput_DerivativeOutput_A";
456 case SpnValue::PRO_PIDOutput_Output_DC:
return "PRO_PIDOutput_Output_DC";
457 case SpnValue::PRO_PIDOutput_Output_V:
return "PRO_PIDOutput_Output_V";
458 case SpnValue::PRO_PIDOutput_Output_A:
return "PRO_PIDOutput_Output_A";
459 case SpnValue::PRO_PIDOutput_Slot:
return "PRO_PIDOutput_Slot";
460 case SpnValue::PRO_PIDRefSlopeECUTime_ReferenceSlope_Position:
return "PRO_PIDRefSlopeECUTime_ReferenceSlope_Position";
461 case SpnValue::PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity:
return "PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity";
462 case SpnValue::PRO_MotorOutput_PIDState_Diff_DutyCycle:
return "PRO_MotorOutput_PIDState_Diff_DutyCycle";
463 case SpnValue::PRO_MotorOutput_PIDState_Diff_TorqueCurrent:
return "PRO_MotorOutput_PIDState_Diff_TorqueCurrent";
464 case SpnValue::TalonFX_DifferentialControlMode:
return "TalonFX_DifferentialControlMode";
465 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_DC:
return "PRO_MotorOutput_PIDState_Diff_IntegratedAccum_DC";
466 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_V:
return "PRO_MotorOutput_PIDState_Diff_IntegratedAccum_V";
467 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_A:
return "PRO_MotorOutput_PIDState_Diff_IntegratedAccum_A";
468 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_DC:
return "PRO_MotorOutput_PIDState_Diff_FeedForward_DC";
469 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_V:
return "PRO_MotorOutput_PIDState_Diff_FeedForward_V";
470 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_A:
return "PRO_MotorOutput_PIDState_Diff_FeedForward_A";
471 case SpnValue::PRO_AvgPosAndVel_Velocity:
return "PRO_AvgPosAndVel_Velocity";
472 case SpnValue::PRO_AvgPosAndVel_Position:
return "PRO_AvgPosAndVel_Position";
473 case SpnValue::PRO_DiffPosAndVel_Velocity:
return "PRO_DiffPosAndVel_Velocity";
474 case SpnValue::PRO_DiffPosAndVel_Position:
return "PRO_DiffPosAndVel_Position";
475 case SpnValue::PRO_DiffPIDRefPIDErr_PIDRef_Position:
return "PRO_DiffPIDRefPIDErr_PIDRef_Position";
476 case SpnValue::PRO_DiffPIDRefPIDErr_PIDRef_Velocity:
return "PRO_DiffPIDRefPIDErr_PIDRef_Velocity";
477 case SpnValue::PRO_DiffPIDRefPIDErr_PIDErr_Position:
return "PRO_DiffPIDRefPIDErr_PIDErr_Position";
478 case SpnValue::PRO_DiffPIDRefPIDErr_PIDErr_Velocity:
return "PRO_DiffPIDRefPIDErr_PIDErr_Velocity";
479 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_DC:
return "PRO_DiffPIDOutput_ProportionalOutput_DC";
480 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_V:
return "PRO_DiffPIDOutput_ProportionalOutput_V";
481 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_A:
return "PRO_DiffPIDOutput_ProportionalOutput_A";
482 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_DC:
return "PRO_DiffPIDOutput_DerivativeOutput_DC";
483 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_V:
return "PRO_DiffPIDOutput_DerivativeOutput_V";
484 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_A:
return "PRO_DiffPIDOutput_DerivativeOutput_A";
485 case SpnValue::PRO_DiffPIDOutput_Output_DC:
return "PRO_DiffPIDOutput_Output_DC";
486 case SpnValue::PRO_DiffPIDOutput_Output_V:
return "PRO_DiffPIDOutput_Output_V";
487 case SpnValue::PRO_DiffPIDOutput_Output_A:
return "PRO_DiffPIDOutput_Output_A";
488 case SpnValue::PRO_DiffPIDOutput_Slot:
return "PRO_DiffPIDOutput_Slot";
489 case SpnValue::PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Position:
return "PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Position";
490 case SpnValue::PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Velocity:
return "PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Velocity";
491 case SpnValue::Slot0_kP:
return "Slot0_kP";
492 case SpnValue::Slot0_kI:
return "Slot0_kI";
493 case SpnValue::Slot0_kD:
return "Slot0_kD";
494 case SpnValue::Slot0_kS:
return "Slot0_kS";
495 case SpnValue::Slot0_kV:
return "Slot0_kV";
496 case SpnValue::Slot0_kA:
return "Slot0_kA";
497 case SpnValue::Slot0_kG:
return "Slot0_kG";
498 case SpnValue::Slot0_kG_Type:
return "Slot0_kG_Type";
499 case SpnValue::Slot1_kP:
return "Slot1_kP";
500 case SpnValue::Slot1_kI:
return "Slot1_kI";
501 case SpnValue::Slot1_kD:
return "Slot1_kD";
502 case SpnValue::Slot1_kS:
return "Slot1_kS";
503 case SpnValue::Slot1_kV:
return "Slot1_kV";
504 case SpnValue::Slot1_kA:
return "Slot1_kA";
505 case SpnValue::Slot1_kG:
return "Slot1_kG";
506 case SpnValue::Slot1_kG_Type:
return "Slot1_kG_Type";
507 case SpnValue::Slot2_kP:
return "Slot2_kP";
508 case SpnValue::Slot2_kI:
return "Slot2_kI";
509 case SpnValue::Slot2_kD:
return "Slot2_kD";
510 case SpnValue::Slot2_kS:
return "Slot2_kS";
511 case SpnValue::Slot2_kV:
return "Slot2_kV";
512 case SpnValue::Slot2_kA:
return "Slot2_kA";
513 case SpnValue::Slot2_kG:
return "Slot2_kG";
514 case SpnValue::Slot2_kG_Type:
return "Slot2_kG_Type";
515 case SpnValue::Config_Inverted:
return "Config_Inverted";
516 case SpnValue::Config_SupplyVLowpassTau:
return "Config_SupplyVLowpassTau";
517 case SpnValue::Config_BeepOnBoot:
return "Config_BeepOnBoot";
518 case SpnValue::Config_NeutralMode:
return "Config_NeutralMode";
519 case SpnValue::Config_DutyCycleNeutralDB:
return "Config_DutyCycleNeutralDB";
520 case SpnValue::Config_StatorCurrentLimit:
return "Config_StatorCurrentLimit";
521 case SpnValue::Config_StatorCurrLimitEn:
return "Config_StatorCurrLimitEn";
522 case SpnValue::Config_SupplyCurrentLimit:
return "Config_SupplyCurrentLimit";
523 case SpnValue::Config_SupplyCurrLimitEn:
return "Config_SupplyCurrLimitEn";
524 case SpnValue::Config_PeakForwardDC:
return "Config_PeakForwardDC";
525 case SpnValue::Config_PeakReverseDC:
return "Config_PeakReverseDC";
526 case SpnValue::Config_PeakForwardV:
return "Config_PeakForwardV";
527 case SpnValue::Config_PeakReverseV:
return "Config_PeakReverseV";
528 case SpnValue::Config_PeakForTorqCurr:
return "Config_PeakForTorqCurr";
529 case SpnValue::Config_PeakRevTorqCurr:
return "Config_PeakRevTorqCurr";
530 case SpnValue::Config_TorqueNeutralDB:
return "Config_TorqueNeutralDB";
531 case SpnValue::Config_FeedbackRotorOffset:
return "Config_FeedbackRotorOffset";
532 case SpnValue::Config_SensorToMechanismRatio:
return "Config_SensorToMechanismRatio";
533 case SpnValue::Config_RotorToSensorRatio:
return "Config_RotorToSensorRatio";
534 case SpnValue::Config_FeedbackSensorSource:
return "Config_FeedbackSensorSource";
535 case SpnValue::Config_FeedbackRemoteSensorID:
return "Config_FeedbackRemoteSensorID";
536 case SpnValue::Config_DutyCycleOpenLoopRampPeriod:
return "Config_DutyCycleOpenLoopRampPeriod";
537 case SpnValue::Config_VoltageOpenLoopRampPeriod:
return "Config_VoltageOpenLoopRampPeriod";
538 case SpnValue::Config_TorqueOpenLoopRampPeriod:
return "Config_TorqueOpenLoopRampPeriod";
539 case SpnValue::Config_DutyCycleClosedLoopRampPeriod:
return "Config_DutyCycleClosedLoopRampPeriod";
540 case SpnValue::Config_VoltageClosedLoopRampPeriod:
return "Config_VoltageClosedLoopRampPeriod";
541 case SpnValue::Config_TorqueClosedLoopRampPeriod:
return "Config_TorqueClosedLoopRampPeriod";
542 case SpnValue::Config_ForwardLimitType:
return "Config_ForwardLimitType";
543 case SpnValue::Config_ForwardLimitAutosetPosEnable:
return "Config_ForwardLimitAutosetPosEnable";
544 case SpnValue::Config_ForwardLimitAutosetPosValue:
return "Config_ForwardLimitAutosetPosValue";
545 case SpnValue::Config_ForwardLimitEnable:
return "Config_ForwardLimitEnable";
546 case SpnValue::Config_ForwardLimitSource:
return "Config_ForwardLimitSource";
547 case SpnValue::Config_ForwardLimitRemoteSensorID:
return "Config_ForwardLimitRemoteSensorID";
548 case SpnValue::Config_ReverseLimitType:
return "Config_ReverseLimitType";
549 case SpnValue::Config_ReverseLimitAutosetPosEnable:
return "Config_ReverseLimitAutosetPosEnable";
550 case SpnValue::Config_ReverseLimitAutosetPosValue:
return "Config_ReverseLimitAutosetPosValue";
551 case SpnValue::Config_ReverseLimitEnable:
return "Config_ReverseLimitEnable";
552 case SpnValue::Config_ReverseLimitSource:
return "Config_ReverseLimitSource";
553 case SpnValue::Config_ReverseLimitRemoteSensorID:
return "Config_ReverseLimitRemoteSensorID";
554 case SpnValue::Config_ForwardSoftLimitEnable:
return "Config_ForwardSoftLimitEnable";
555 case SpnValue::Config_ReverseSoftLimitEnable:
return "Config_ReverseSoftLimitEnable";
556 case SpnValue::Config_ForwardSoftLimitThreshold:
return "Config_ForwardSoftLimitThreshold";
557 case SpnValue::Config_ReverseSoftLimitThreshold:
return "Config_ReverseSoftLimitThreshold";
558 case SpnValue::Config_MotionMagicCruiseVelocity:
return "Config_MotionMagicCruiseVelocity";
559 case SpnValue::Config_MotionMagicAcceleration:
return "Config_MotionMagicAcceleration";
560 case SpnValue::Config_MotionMagicJerk:
return "Config_MotionMagicJerk";
561 case SpnValue::Config_PeakDiffDC:
return "Config_PeakDiffDC";
562 case SpnValue::Config_PeakDiffV:
return "Config_PeakDiffV";
563 case SpnValue::Config_PeakDiffTorqCurr:
return "Config_PeakDiffTorqCurr";
564 case SpnValue::CANcoder_Velocity:
return "CANcoder_Velocity";
565 case SpnValue::CANcoder_Position:
return "CANcoder_Position";
566 case SpnValue::CANcoder_AbsPosition:
return "CANcoder_AbsPosition";
567 case SpnValue::CANCoder_RawVel:
return "CANCoder_RawVel";
568 case SpnValue::CANCoder_RawPos:
return "CANCoder_RawPos";
569 case SpnValue::CANCoder_SupplyVoltage:
return "CANCoder_SupplyVoltage";
570 case SpnValue::CANcoder_MagHealth:
return "CANcoder_MagHealth";
571 case SpnValue::SPN_ClearStickyFaults:
return "SPN_ClearStickyFaults";
572 case SpnValue::PRO_MotorOutput_BridgeType_Public:
return "PRO_MotorOutput_BridgeType_Public";
573 case SpnValue::Config_ContinuousWrap:
return "Config_ContinuousWrap";
574 case SpnValue::Config_SupplyCurrThres:
return "Config_SupplyCurrThres";
575 case SpnValue::Config_SupplyTimeThres:
return "Config_SupplyTimeThres";
576 case SpnValue::Config_DifferentialSensorSource:
return "Config_DifferentialSensorSource";
577 case SpnValue::Config_DifferentialTalonFXSensorID:
return "Config_DifferentialTalonFXSensorID";
578 case SpnValue::Config_DifferentialRemoteSensorID:
return "Config_DifferentialRemoteSensorID";
579 case SpnValue::Config_BeepOnConfig:
return "Config_BeepOnConfig";
580 case SpnValue::Config_AllowMusicDurDisable:
return "Config_AllowMusicDurDisable";
581 case SpnValue::Compliancy_Version:
return "Compliancy_Version";
582 case SpnValue::Version_IsProLicensed:
return "Version_IsProLicensed";
583 case SpnValue::Fault_Hardware:
return "Fault_Hardware";
584 case SpnValue::StickyFault_Hardware:
return "StickyFault_Hardware";
585 case SpnValue::ClearStickyFault_Hardware:
return "ClearStickyFault_Hardware";
586 case SpnValue::Fault_ProcTemp:
return "Fault_ProcTemp";
587 case SpnValue::StickyFault_ProcTemp:
return "StickyFault_ProcTemp";
588 case SpnValue::ClearStickyFault_ProcTemp:
return "ClearStickyFault_ProcTemp";
589 case SpnValue::Fault_DeviceTemp:
return "Fault_DeviceTemp";
590 case SpnValue::StickyFault_DeviceTemp:
return "StickyFault_DeviceTemp";
591 case SpnValue::ClearStickyFault_DeviceTemp:
return "ClearStickyFault_DeviceTemp";
592 case SpnValue::Fault_Undervoltage:
return "Fault_Undervoltage";
593 case SpnValue::StickyFault_Undervoltage:
return "StickyFault_Undervoltage";
594 case SpnValue::ClearStickyFault_Undervoltage:
return "ClearStickyFault_Undervoltage";
595 case SpnValue::Fault_BootDuringEnable:
return "Fault_BootDuringEnable";
596 case SpnValue::StickyFault_BootDuringEnable:
return "StickyFault_BootDuringEnable";
597 case SpnValue::ClearStickyFault_BootDuringEnable:
return "ClearStickyFault_BootDuringEnable";
598 case SpnValue::Fault_UnlicensedFeatureInUse:
return "Fault_UnlicensedFeatureInUse";
599 case SpnValue::StickyFault_UnlicensedFeatureInUse:
return "StickyFault_UnlicensedFeatureInUse";
600 case SpnValue::Fault_PIGEON2_BootupAccel:
return "Fault_PIGEON2_BootupAccel";
601 case SpnValue::StickyFault_PIGEON2_BootupAccel:
return "StickyFault_PIGEON2_BootupAccel";
602 case SpnValue::ClearStickyFault_PIGEON2_BootupAccel:
return "ClearStickyFault_PIGEON2_BootupAccel";
603 case SpnValue::Fault_PIGEON2_BootupGyros:
return "Fault_PIGEON2_BootupGyros";
604 case SpnValue::StickyFault_PIGEON2_BootupGyros:
return "StickyFault_PIGEON2_BootupGyros";
605 case SpnValue::ClearStickyFault_PIGEON2_BootupGyros:
return "ClearStickyFault_PIGEON2_BootupGyros";
606 case SpnValue::Fault_PIGEON2_BootupMagne:
return "Fault_PIGEON2_BootupMagne";
607 case SpnValue::StickyFault_PIGEON2_BootupMagne:
return "StickyFault_PIGEON2_BootupMagne";
608 case SpnValue::ClearStickyFault_PIGEON2_BootupMagne:
return "ClearStickyFault_PIGEON2_BootupMagne";
609 case SpnValue::Fault_PIGEON2_BootIntoMotion:
return "Fault_PIGEON2_BootIntoMotion";
610 case SpnValue::StickyFault_PIGEON2_BootIntoMotion:
return "StickyFault_PIGEON2_BootIntoMotion";
611 case SpnValue::ClearStickyFault_PIGEON2_BootIntoMotion:
return "ClearStickyFault_PIGEON2_BootIntoMotion";
612 case SpnValue::Fault_PIGEON2_DataAcquiredLate:
return "Fault_PIGEON2_DataAcquiredLate";
613 case SpnValue::StickyFault_PIGEON2_DataAcquiredLate:
return "StickyFault_PIGEON2_DataAcquiredLate";
614 case SpnValue::ClearStickyFault_PIGEON2_DataAcquiredLate:
return "ClearStickyFault_PIGEON2_DataAcquiredLate";
615 case SpnValue::Fault_PIGEON2_LoopTimeSlow:
return "Fault_PIGEON2_LoopTimeSlow";
616 case SpnValue::StickyFault_PIGEON2_LoopTimeSlow:
return "StickyFault_PIGEON2_LoopTimeSlow";
617 case SpnValue::ClearStickyFault_PIGEON2_LoopTimeSlow:
return "ClearStickyFault_PIGEON2_LoopTimeSlow";
618 case SpnValue::Fault_PIGEON2_SaturatedMagne:
return "Fault_PIGEON2_SaturatedMagne";
619 case SpnValue::StickyFault_PIGEON2_SaturatedMagne:
return "StickyFault_PIGEON2_SaturatedMagne";
620 case SpnValue::ClearStickyFault_PIGEON2_SaturatedMagne:
return "ClearStickyFault_PIGEON2_SaturatedMagne";
621 case SpnValue::Fault_PIGEON2_SaturatedAccel:
return "Fault_PIGEON2_SaturatedAccel";
622 case SpnValue::StickyFault_PIGEON2_SaturatedAccel:
return "StickyFault_PIGEON2_SaturatedAccel";
623 case SpnValue::ClearStickyFault_PIGEON2_SaturatedAccel:
return "ClearStickyFault_PIGEON2_SaturatedAccel";
624 case SpnValue::Fault_PIGEON2_SaturatedGyros:
return "Fault_PIGEON2_SaturatedGyros";
625 case SpnValue::StickyFault_PIGEON2_SaturatedGyros:
return "StickyFault_PIGEON2_SaturatedGyros";
626 case SpnValue::ClearStickyFault_PIGEON2_SaturatedGyros:
return "ClearStickyFault_PIGEON2_SaturatedGyros";
627 case SpnValue::Fault_CANCODER_BadMagnet:
return "Fault_CANCODER_BadMagnet";
628 case SpnValue::StickyFault_CANCODER_BadMagnet:
return "StickyFault_CANCODER_BadMagnet";
629 case SpnValue::ClearStickyFault_CANCODER_BadMagnet:
return "ClearStickyFault_CANCODER_BadMagnet";
630 case SpnValue::Fault_TALONFX_BridgeBrownout:
return "Fault_TALONFX_BridgeBrownout";
631 case SpnValue::StickyFault_TALONFX_BridgeBrownout:
return "StickyFault_TALONFX_BridgeBrownout";
632 case SpnValue::ClearStickyFault_TALONFX_BridgeBrownout:
return "ClearStickyFault_TALONFX_BridgeBrownout";
633 case SpnValue::Fault_TALONFX_RemoteSensorReset:
return "Fault_TALONFX_RemoteSensorReset";
634 case SpnValue::StickyFault_TALONFX_RemoteSensorReset:
return "StickyFault_TALONFX_RemoteSensorReset";
635 case SpnValue::ClearStickyFault_TALONFX_RemoteSensorReset:
return "ClearStickyFault_TALONFX_RemoteSensorReset";
636 case SpnValue::Fault_TALONFX_MissingDifferentialFX:
return "Fault_TALONFX_MissingDifferentialFX";
637 case SpnValue::StickyFault_TALONFX_MissingDifferentialFX:
return "StickyFault_TALONFX_MissingDifferentialFX";
638 case SpnValue::ClearStickyFault_TALONFX_MissingDifferentialFX:
return "ClearStickyFault_TALONFX_MissingDifferentialFX";
639 case SpnValue::Fault_TALONFX_RemoteSensorPosOverflow:
return "Fault_TALONFX_RemoteSensorPosOverflow";
640 case SpnValue::StickyFault_TALONFX_RemoteSensorPosOverflow:
return "StickyFault_TALONFX_RemoteSensorPosOverflow";
641 case SpnValue::ClearStickyFault_TALONFX_RemoteSensorPosOverflow:
return "ClearStickyFault_TALONFX_RemoteSensorPosOverflow";
642 case SpnValue::Fault_TALONFX_OverSupplyV:
return "Fault_TALONFX_OverSupplyV";
643 case SpnValue::StickyFault_TALONFX_OverSupplyV:
return "StickyFault_TALONFX_OverSupplyV";
644 case SpnValue::ClearStickyFault_TALONFX_OverSupplyV:
return "ClearStickyFault_TALONFX_OverSupplyV";
645 case SpnValue::Fault_TALONFX_UnstableSupplyV:
return "Fault_TALONFX_UnstableSupplyV";
646 case SpnValue::StickyFault_TALONFX_UnstableSupplyV:
return "StickyFault_TALONFX_UnstableSupplyV";
647 case SpnValue::ClearStickyFault_TALONFX_UnstableSupplyV:
return "ClearStickyFault_TALONFX_UnstableSupplyV";
648 case SpnValue::Fault_TALONFX_ReverseHardLimit:
return "Fault_TALONFX_ReverseHardLimit";
649 case SpnValue::StickyFault_TALONFX_ReverseHardLimit:
return "StickyFault_TALONFX_ReverseHardLimit";
650 case SpnValue::ClearStickyFault_TALONFX_ReverseHardLimit:
return "ClearStickyFault_TALONFX_ReverseHardLimit";
651 case SpnValue::Fault_TALONFX_ForwardHardLimit:
return "Fault_TALONFX_ForwardHardLimit";
652 case SpnValue::StickyFault_TALONFX_ForwardHardLimit:
return "StickyFault_TALONFX_ForwardHardLimit";
653 case SpnValue::ClearStickyFault_TALONFX_ForwardHardLimit:
return "ClearStickyFault_TALONFX_ForwardHardLimit";
654 case SpnValue::Fault_TALONFX_ReverseSoftLimit:
return "Fault_TALONFX_ReverseSoftLimit";
655 case SpnValue::StickyFault_TALONFX_ReverseSoftLimit:
return "StickyFault_TALONFX_ReverseSoftLimit";
656 case SpnValue::ClearStickyFault_TALONFX_ReverseSoftLimit:
return "ClearStickyFault_TALONFX_ReverseSoftLimit";
657 case SpnValue::Fault_TALONFX_ForwardSoftLimit:
return "Fault_TALONFX_ForwardSoftLimit";
658 case SpnValue::StickyFault_TALONFX_ForwardSoftLimit:
return "StickyFault_TALONFX_ForwardSoftLimit";
659 case SpnValue::ClearStickyFault_TALONFX_ForwardSoftLimit:
return "ClearStickyFault_TALONFX_ForwardSoftLimit";
660 case SpnValue::Fault_TALONFX_MissingRemoteSensor:
return "Fault_TALONFX_MissingRemoteSensor";
661 case SpnValue::StickyFault_TALONFX_MissingRemoteSensor:
return "StickyFault_TALONFX_MissingRemoteSensor";
662 case SpnValue::ClearStickyFault_TALONFX_MissingRemoteSensor:
return "ClearStickyFault_TALONFX_MissingRemoteSensor";
663 case SpnValue::Fault_TALONFX_FusedSensorOutOfSync:
return "Fault_TALONFX_FusedSensorOutOfSync";
664 case SpnValue::StickyFault_TALONFX_FusedSensorOutOfSync:
return "StickyFault_TALONFX_FusedSensorOutOfSync";
665 case SpnValue::ClearStickyFault_TALONFX_FusedSensorOutOfSync:
return "ClearStickyFault_TALONFX_FusedSensorOutOfSync";
666 case SpnValue::Fault_TALONFX_StatorCurrLimit:
return "Fault_TALONFX_StatorCurrLimit";
667 case SpnValue::StickyFault_TALONFX_StatorCurrLimit:
return "StickyFault_TALONFX_StatorCurrLimit";
668 case SpnValue::ClearStickyFault_TALONFX_StatorCurrLimit:
return "ClearStickyFault_TALONFX_StatorCurrLimit";
669 case SpnValue::Fault_TALONFX_SupplyCurrLimit:
return "Fault_TALONFX_SupplyCurrLimit";
670 case SpnValue::StickyFault_TALONFX_SupplyCurrLimit:
return "StickyFault_TALONFX_SupplyCurrLimit";
671 case SpnValue::ClearStickyFault_TALONFX_SupplyCurrLimit:
return "ClearStickyFault_TALONFX_SupplyCurrLimit";
672 case SpnValue::Fault_TALONFX_UsingFusedCCWhileUnlicensed:
return "Fault_TALONFX_UsingFusedCCWhileUnlicensed";
673 case SpnValue::StickyFault_TALONFX_UsingFusedCCWhileUnlicensed:
return "StickyFault_TALONFX_UsingFusedCCWhileUnlicensed";
675 return "Invalid Value";
684 std::string GetName()
const
688 case SpnValue::TalonFX_System_State:
return "System_State";
689 case SpnValue::Startup_ResetFlags:
return "ResetFlags";
690 case SpnValue::Version_Major:
return "VersionMajor";
691 case SpnValue::Version_Minor:
return "VersionMinor";
692 case SpnValue::Version_Bugfix:
return "VersionBugfix";
693 case SpnValue::Version_Build:
return "VersionBuild";
694 case SpnValue::Version_Full:
return "Version";
695 case SpnValue::Licensing_IsProLicensed:
return "IsPROLicensed";
696 case SpnValue::CustomParam0:
return "CustomParam0";
697 case SpnValue::CustomParam1:
return "CustomParam1";
698 case SpnValue::CANcoder_SensorDirection:
return "SensorDirection";
699 case SpnValue::FrcLock:
return "FrcLock";
700 case SpnValue::RobotEnabled:
return "RobotEnable";
701 case SpnValue::LED1_OnColor:
return "Led1OnColor";
702 case SpnValue::LED1_OffColor:
return "Led1OffColor";
703 case SpnValue::LED2_OnColor:
return "Led2OnColor";
704 case SpnValue::LED2_OffColor:
return "Led2OffColor";
705 case SpnValue::AllFaults:
return "FaultField";
706 case SpnValue::AllStickyFaults:
return "StickyFaultField";
707 case SpnValue::Pigeon2UseCompass:
return "EnableCompass";
708 case SpnValue::Pigeon2DisableTemperatureCompensation:
return "DisableTemperatureCompensation";
709 case SpnValue::Pigeon2DisableNoMotionCalibration:
return "DisableNoMotionCalibration";
710 case SpnValue::Pigeon2MountPoseYaw:
return "MountPoseYaw";
711 case SpnValue::Pigeon2MountPosePitch:
return "MountPosePitch";
712 case SpnValue::Pigeon2MountPoseRoll:
return "MountPoseRoll";
713 case SpnValue::Pigeon2GyroScalarX:
return "GyroScalarX";
714 case SpnValue::Pigeon2GyroScalarY:
return "GyroScalarY";
715 case SpnValue::Pigeon2GyroScalarZ:
return "GyroScalarZ";
716 case SpnValue::Pigeon2Yaw:
return "Yaw";
717 case SpnValue::Pigeon2Pitch:
return "Pitch";
718 case SpnValue::Pigeon2Roll:
return "Roll";
719 case SpnValue::Pigeon2QuatW:
return "QuatW";
720 case SpnValue::Pigeon2QuatX:
return "QuatX";
721 case SpnValue::Pigeon2QuatY:
return "QuatY";
722 case SpnValue::Pigeon2QuatZ:
return "QuatZ";
723 case SpnValue::Pigeon2GravityVectorX:
return "GravityVectorX";
724 case SpnValue::Pigeon2GravityVectorY:
return "GravityVectorY";
725 case SpnValue::Pigeon2GravityVectorZ:
return "GravityVectorZ";
726 case SpnValue::Pigeon2Temperature:
return "Temperature";
727 case SpnValue::Pigeon2NoMotionCalEnabled:
return "NoMotionEnabled";
728 case SpnValue::Pigeon2NoMotionCount:
return "NoMotionCount";
729 case SpnValue::Pigeon2TempCompDisabled:
return "TemperatureCompensationDisabled";
730 case SpnValue::Pigeon2UpTime:
return "UpTime";
731 case SpnValue::Pigeon2AccumGyroX:
return "AccumGyroX";
732 case SpnValue::Pigeon2AccumGyroY:
return "AccumGyroY";
733 case SpnValue::Pigeon2AccumGyroZ:
return "AccumGyroZ";
734 case SpnValue::Pigeon2AngularVelocityX:
return "AngularVelocityX";
735 case SpnValue::Pigeon2AngularVelocityY:
return "AngularVelocityY";
736 case SpnValue::Pigeon2AngularVelocityZ:
return "AngularVelocityZ";
737 case SpnValue::Pigeon2AccelerationX:
return "AccelerationX";
738 case SpnValue::Pigeon2AccelerationY:
return "AccelerationY";
739 case SpnValue::Pigeon2AccelerationZ:
return "AccelerationZ";
740 case SpnValue::Pigeon2_SupplyVoltage:
return "SupplyVoltage";
741 case SpnValue::Pigeon2MagneticFieldX:
return "MagneticFieldX";
742 case SpnValue::Pigeon2MagneticFieldY:
return "MagneticFieldY";
743 case SpnValue::Pigeon2MagneticFieldZ:
return "MagneticFieldZ";
744 case SpnValue::Pigeon2RawMagneticFieldX:
return "RawMagneticFieldX";
745 case SpnValue::Pigeon2RawMagneticFieldY:
return "RawMagneticFieldY";
746 case SpnValue::Pigeon2RawMagneticFieldZ:
return "RawMagneticFieldZ";
747 case SpnValue::CANCoder_MagnetOffset:
return "MagnetOffset";
748 case SpnValue::CANcoder_AbsoluteSensorRange:
return "AbsoluteSensorRange";
749 case SpnValue::TalonFX_SetSensorPosition:
return "SetPosition";
750 case SpnValue::CANCoder_SetSensorPosition:
return "SetPosition";
751 case SpnValue::Pigeon2_SetYaw:
return "SetYaw";
752 case SpnValue::DeviceEnabled:
return "DeviceEnable";
753 case SpnValue::PRO_MotorOutput_MotorVoltage:
return "MotorVoltage";
754 case SpnValue::ForwardLimit:
return "ForwardLimit";
755 case SpnValue::ReverseLimit:
return "ReverseLimit";
756 case SpnValue::PRO_MotorOutput_RotorPolarity:
return "AppliedRotorPolarity";
757 case SpnValue::PRO_MotorOutput_DutyCycle:
return "DutyCycle";
758 case SpnValue::PRO_MotorOutput_TorqueCurrent:
return "TorqueCurrent";
759 case SpnValue::PRO_SupplyAndTemp_StatorCurrent:
return "StatorCurrent";
760 case SpnValue::PRO_SupplyAndTemp_SupplyCurrent:
return "SupplyCurrent";
761 case SpnValue::PRO_SupplyAndTemp_SupplyVoltage:
return "SupplyVoltage";
762 case SpnValue::PRO_SupplyAndTemp_DeviceTemp:
return "DeviceTemp";
763 case SpnValue::PRO_SupplyAndTemp_ProcessorTemp:
return "ProcessorTemp";
764 case SpnValue::PRO_RotorPosAndVel_Velocity:
return "RotorVelocity";
765 case SpnValue::PRO_RotorPosAndVel_Position:
return "RotorPosition";
766 case SpnValue::PRO_PosAndVel_Velocity:
return "Velocity";
767 case SpnValue::PRO_PosAndVel_Position:
return "Position";
768 case SpnValue::PRO_PosAndVel_Acceleration:
return "Acceleration";
769 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_DC:
return "PIDDutyCycle_IntegratedAccum";
770 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_V:
return "PIDMotorVoltage_IntegratedAccum";
771 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_A:
return "PIDTorqueCurrent_IntegratedAccum";
772 case SpnValue::PRO_PIDStateEnables_FeedForward_DC:
return "PIDDutyCycle_FeedForward";
773 case SpnValue::PRO_PIDStateEnables_FeedForward_V:
return "PIDMotorVoltage_FeedForward";
774 case SpnValue::PRO_PIDStateEnables_FeedForward_A:
return "PIDTorqueCurrent_FeedForward";
775 case SpnValue::TalonFX_ControlMode:
return "ControlMode";
776 case SpnValue::PRO_PIDStateEnables_IsMotionMagicRunning:
return "MotionMagicIsRunning";
777 case SpnValue::PRO_PIDStateEnables_DeviceEnable:
return "DeviceEnable";
778 case SpnValue::PRO_PIDRefPIDErr_PIDRef_Position:
return "PIDPosition_Reference";
779 case SpnValue::PRO_PIDRefPIDErr_PIDRef_Velocity:
return "PIDVelocity_Reference";
780 case SpnValue::PRO_PIDRefPIDErr_PIDErr_Position:
return "PIDPosition_ClosedLoopError";
781 case SpnValue::PRO_PIDRefPIDErr_PIDErr_Velocity:
return "PIDVelocity_ClosedLoopError";
782 case SpnValue::PRO_PIDOutput_ProportionalOutput_DC:
return "PIDDutyCycle_ProportionalOutput";
783 case SpnValue::PRO_PIDOutput_ProportionalOutput_V:
return "PIDMotorVoltage_ProportionalOutput";
784 case SpnValue::PRO_PIDOutput_ProportionalOutput_A:
return "PIDTorqueCurrent_ProportionalOutput";
785 case SpnValue::PRO_PIDOutput_DerivativeOutput_DC:
return "PIDDutyCycle_DerivativeOutput";
786 case SpnValue::PRO_PIDOutput_DerivativeOutput_V:
return "PIDMotorVoltage_DerivativeOutput";
787 case SpnValue::PRO_PIDOutput_DerivativeOutput_A:
return "PIDTorqueCurrent_DerivativeOutput";
788 case SpnValue::PRO_PIDOutput_Output_DC:
return "PIDDutyCycle_Output";
789 case SpnValue::PRO_PIDOutput_Output_V:
return "PIDMotorVoltage_Output";
790 case SpnValue::PRO_PIDOutput_Output_A:
return "PIDTorqueCurrent_Output";
791 case SpnValue::PRO_PIDOutput_Slot:
return "ClosedLoopSlot";
792 case SpnValue::PRO_PIDRefSlopeECUTime_ReferenceSlope_Position:
return "PIDPosition_ReferenceSlope";
793 case SpnValue::PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity:
return "PIDVelocity_ReferenceSlope";
794 case SpnValue::PRO_MotorOutput_PIDState_Diff_DutyCycle:
return "DifferentialDutyCycle";
795 case SpnValue::PRO_MotorOutput_PIDState_Diff_TorqueCurrent:
return "DifferentialTorqueCurrent";
796 case SpnValue::TalonFX_DifferentialControlMode:
return "DifferentialControlMode";
797 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_DC:
return "DifferentialPIDDutyCycle_IntegratedAccum";
798 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_V:
return "DifferentialPIDMotorVoltage_IntegratedAccum";
799 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_A:
return "DifferentialPIDTorqueCurrent_IntegratedAccum";
800 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_DC:
return "DifferentialPIDDutyCycle_FeedForward";
801 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_V:
return "DifferentialPIDMotorVoltage_FeedForward";
802 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_A:
return "DifferentialPIDTorqueCurrent_FeedForward";
803 case SpnValue::PRO_AvgPosAndVel_Velocity:
return "DifferentialAverageVelocity";
804 case SpnValue::PRO_AvgPosAndVel_Position:
return "DifferentialAveragePosition";
805 case SpnValue::PRO_DiffPosAndVel_Velocity:
return "DifferentialDifferenceVelocity";
806 case SpnValue::PRO_DiffPosAndVel_Position:
return "DifferentialDifferencePosition";
807 case SpnValue::PRO_DiffPIDRefPIDErr_PIDRef_Position:
return "DifferentialPIDPosition_Reference";
808 case SpnValue::PRO_DiffPIDRefPIDErr_PIDRef_Velocity:
return "DifferentialPIDVelocity_Reference";
809 case SpnValue::PRO_DiffPIDRefPIDErr_PIDErr_Position:
return "DifferentialPIDPosition_ClosedLoopError";
810 case SpnValue::PRO_DiffPIDRefPIDErr_PIDErr_Velocity:
return "DifferentialPIDVelocity_ClosedLoopError";
811 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_DC:
return "DifferentialPIDDutyCycle_ProportionalOutput";
812 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_V:
return "DifferentialPIDMotorVoltage_ProportionalOutput";
813 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_A:
return "DifferentialPIDTorqueCurrent_ProportionalOutput";
814 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_DC:
return "DifferentialPIDDutyCycle_DerivativeOutput";
815 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_V:
return "DiffPIDMotorVoltage_DerivativeOutput";
816 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_A:
return "DifferentialPIDTorqueCurrent_DerivativeOutput";
817 case SpnValue::PRO_DiffPIDOutput_Output_DC:
return "DifferentialPIDDutyCycle_Output";
818 case SpnValue::PRO_DiffPIDOutput_Output_V:
return "DifferentialPIDMotorVoltage_Output";
819 case SpnValue::PRO_DiffPIDOutput_Output_A:
return "DifferentialPIDTorqueCurrent_Output";
820 case SpnValue::PRO_DiffPIDOutput_Slot:
return "DifferentialClosedLoopSlot";
821 case SpnValue::PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Position:
return "DifferentialPIDPosition_ReferenceSlope";
822 case SpnValue::PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Velocity:
return "DifferentialPIDVelocity_ReferenceSlope";
823 case SpnValue::Slot0_kP:
return "kP";
824 case SpnValue::Slot0_kI:
return "kI";
825 case SpnValue::Slot0_kD:
return "kD";
826 case SpnValue::Slot0_kS:
return "kS";
827 case SpnValue::Slot0_kV:
return "kV";
828 case SpnValue::Slot0_kA:
return "kA";
829 case SpnValue::Slot0_kG:
return "kG";
830 case SpnValue::Slot0_kG_Type:
return "GravityType";
831 case SpnValue::Slot1_kP:
return "kP";
832 case SpnValue::Slot1_kI:
return "kI";
833 case SpnValue::Slot1_kD:
return "kD";
834 case SpnValue::Slot1_kS:
return "kS";
835 case SpnValue::Slot1_kV:
return "kV";
836 case SpnValue::Slot1_kA:
return "kA";
837 case SpnValue::Slot1_kG:
return "kG";
838 case SpnValue::Slot1_kG_Type:
return "GravityType";
839 case SpnValue::Slot2_kP:
return "kP";
840 case SpnValue::Slot2_kI:
return "kI";
841 case SpnValue::Slot2_kD:
return "kD";
842 case SpnValue::Slot2_kS:
return "kS";
843 case SpnValue::Slot2_kV:
return "kV";
844 case SpnValue::Slot2_kA:
return "kA";
845 case SpnValue::Slot2_kG:
return "kG";
846 case SpnValue::Slot2_kG_Type:
return "GravityType";
847 case SpnValue::Config_Inverted:
return "Inverted";
848 case SpnValue::Config_SupplyVLowpassTau:
return "SupplyVoltageTimeConstant";
849 case SpnValue::Config_BeepOnBoot:
return "BeepOnBoot";
850 case SpnValue::Config_NeutralMode:
return "NeutralMode";
851 case SpnValue::Config_DutyCycleNeutralDB:
return "DutyCycleNeutralDeadband";
852 case SpnValue::Config_StatorCurrentLimit:
return "StatorCurrentLimit";
853 case SpnValue::Config_StatorCurrLimitEn:
return "StatorCurrentLimitEnable";
854 case SpnValue::Config_SupplyCurrentLimit:
return "SupplyCurrentLimit";
855 case SpnValue::Config_SupplyCurrLimitEn:
return "SupplyCurrentLimitEnable";
856 case SpnValue::Config_PeakForwardDC:
return "PeakForwardDutyCycle";
857 case SpnValue::Config_PeakReverseDC:
return "PeakReverseDutyCycle";
858 case SpnValue::Config_PeakForwardV:
return "PeakForwardVoltage";
859 case SpnValue::Config_PeakReverseV:
return "PeakReverseVoltage";
860 case SpnValue::Config_PeakForTorqCurr:
return "PeakForwardTorqueCurrent";
861 case SpnValue::Config_PeakRevTorqCurr:
return "PeakReverseTorqueCurrent";
862 case SpnValue::Config_TorqueNeutralDB:
return "TorqueNeutralDeadband";
863 case SpnValue::Config_FeedbackRotorOffset:
return "FeedbackRotorOffset";
864 case SpnValue::Config_SensorToMechanismRatio:
return "SensorToMechanismRatio";
865 case SpnValue::Config_RotorToSensorRatio:
return "RotorToSensorRatio";
866 case SpnValue::Config_FeedbackSensorSource:
return "FeedbackSensorSource";
867 case SpnValue::Config_FeedbackRemoteSensorID:
return "FeedbackRemoteSensorID";
868 case SpnValue::Config_DutyCycleOpenLoopRampPeriod:
return "DutyCycleOpenLoopRampPeriod";
869 case SpnValue::Config_VoltageOpenLoopRampPeriod:
return "VoltageOpenLoopRampPeriod";
870 case SpnValue::Config_TorqueOpenLoopRampPeriod:
return "TorqueOpenLoopRampPeriod";
871 case SpnValue::Config_DutyCycleClosedLoopRampPeriod:
return "DutyCycleClosedLoopRampPeriod";
872 case SpnValue::Config_VoltageClosedLoopRampPeriod:
return "VoltageClosedLoopRampPeriod";
873 case SpnValue::Config_TorqueClosedLoopRampPeriod:
return "TorqueClosedLoopRampPeriod";
874 case SpnValue::Config_ForwardLimitType:
return "ForwardLimitType";
875 case SpnValue::Config_ForwardLimitAutosetPosEnable:
return "ForwardLimitAutosetPositionEnable";
876 case SpnValue::Config_ForwardLimitAutosetPosValue:
return "ForwardLimitAutosetPositionValue";
877 case SpnValue::Config_ForwardLimitEnable:
return "ForwardLimitEnable";
878 case SpnValue::Config_ForwardLimitSource:
return "ForwardLimitSource";
879 case SpnValue::Config_ForwardLimitRemoteSensorID:
return "ForwardLimitRemoteSensorID";
880 case SpnValue::Config_ReverseLimitType:
return "ReverseLimitType";
881 case SpnValue::Config_ReverseLimitAutosetPosEnable:
return "ReverseLimitAutosetPositionEnable";
882 case SpnValue::Config_ReverseLimitAutosetPosValue:
return "ReverseLimitAutosetPositionValue";
883 case SpnValue::Config_ReverseLimitEnable:
return "ReverseLimitEnable";
884 case SpnValue::Config_ReverseLimitSource:
return "ReverseLimitSource";
885 case SpnValue::Config_ReverseLimitRemoteSensorID:
return "ReverseLimitRemoteSensorID";
886 case SpnValue::Config_ForwardSoftLimitEnable:
return "ForwardSoftLimitEnable";
887 case SpnValue::Config_ReverseSoftLimitEnable:
return "ReverseSoftLimitEnable";
888 case SpnValue::Config_ForwardSoftLimitThreshold:
return "ForwardSoftLimitThreshold";
889 case SpnValue::Config_ReverseSoftLimitThreshold:
return "ReverseSoftLimitThreshold";
890 case SpnValue::Config_MotionMagicCruiseVelocity:
return "MotionMagicCruiseVelocity";
891 case SpnValue::Config_MotionMagicAcceleration:
return "MotionMagicAcceleration";
892 case SpnValue::Config_MotionMagicJerk:
return "MotionMagicJerk";
893 case SpnValue::Config_PeakDiffDC:
return "PeakDifferentialDutyCycle";
894 case SpnValue::Config_PeakDiffV:
return "PeakDifferentialVoltage";
895 case SpnValue::Config_PeakDiffTorqCurr:
return "PeakDifferentialTorqueCurrent";
896 case SpnValue::CANcoder_Velocity:
return "Velocity";
897 case SpnValue::CANcoder_Position:
return "Position";
898 case SpnValue::CANcoder_AbsPosition:
return "AbsolutePosition";
899 case SpnValue::CANCoder_RawVel:
return "UnfilteredVelocity";
900 case SpnValue::CANCoder_RawPos:
return "PositionSinceBoot";
901 case SpnValue::CANCoder_SupplyVoltage:
return "SupplyVoltage";
902 case SpnValue::CANcoder_MagHealth:
return "MagnetHealth";
903 case SpnValue::SPN_ClearStickyFaults:
return "ClearStickyFaults";
904 case SpnValue::PRO_MotorOutput_BridgeType_Public:
return "BridgeOutput";
905 case SpnValue::Config_ContinuousWrap:
return "ContinuousWrap";
906 case SpnValue::Config_SupplyCurrThres:
return "SupplyCurrentThreshold";
907 case SpnValue::Config_SupplyTimeThres:
return "SupplyTimeThreshold";
908 case SpnValue::Config_DifferentialSensorSource:
return "DifferentialSensorSource";
909 case SpnValue::Config_DifferentialTalonFXSensorID:
return "DifferentialTalonFXSensorID";
910 case SpnValue::Config_DifferentialRemoteSensorID:
return "DifferentialRemoteSensorID";
911 case SpnValue::Config_BeepOnConfig:
return "BeepOnConfig";
912 case SpnValue::Config_AllowMusicDurDisable:
return "AllowMusicDurDisable";
913 case SpnValue::Compliancy_Version:
return "Compliancy";
914 case SpnValue::Version_IsProLicensed:
return "IsProLicensed";
915 case SpnValue::Fault_Hardware:
return "Fault_Hardware";
916 case SpnValue::StickyFault_Hardware:
return "StickyFault_Hardware";
917 case SpnValue::ClearStickyFault_Hardware:
return "ClearStickyFault_Hardware";
918 case SpnValue::Fault_ProcTemp:
return "Fault_ProcTemp";
919 case SpnValue::StickyFault_ProcTemp:
return "StickyFault_ProcTemp";
920 case SpnValue::ClearStickyFault_ProcTemp:
return "ClearStickyFault_ProcTemp";
921 case SpnValue::Fault_DeviceTemp:
return "Fault_DeviceTemp";
922 case SpnValue::StickyFault_DeviceTemp:
return "StickyFault_DeviceTemp";
923 case SpnValue::ClearStickyFault_DeviceTemp:
return "ClearStickyFault_DeviceTemp";
924 case SpnValue::Fault_Undervoltage:
return "Fault_Undervoltage";
925 case SpnValue::StickyFault_Undervoltage:
return "StickyFault_Undervoltage";
926 case SpnValue::ClearStickyFault_Undervoltage:
return "ClearStickyFault_Undervoltage";
927 case SpnValue::Fault_BootDuringEnable:
return "Fault_BootDuringEnable";
928 case SpnValue::StickyFault_BootDuringEnable:
return "StickyFault_BootDuringEnable";
929 case SpnValue::ClearStickyFault_BootDuringEnable:
return "ClearStickyFault_BootDuringEnable";
930 case SpnValue::Fault_UnlicensedFeatureInUse:
return "Fault_UnlicensedFeatureInUse";
931 case SpnValue::StickyFault_UnlicensedFeatureInUse:
return "StickyFault_UnlicensedFeatureInUse";
932 case SpnValue::Fault_PIGEON2_BootupAccel:
return "Fault_BootupAccelerometer";
933 case SpnValue::StickyFault_PIGEON2_BootupAccel:
return "StickyFault_BootupAccelerometer";
934 case SpnValue::ClearStickyFault_PIGEON2_BootupAccel:
return "ClearStickyFault_BootupAccelerometer";
935 case SpnValue::Fault_PIGEON2_BootupGyros:
return "Fault_BootupGyroscope";
936 case SpnValue::StickyFault_PIGEON2_BootupGyros:
return "StickyFault_BootupGyroscope";
937 case SpnValue::ClearStickyFault_PIGEON2_BootupGyros:
return "ClearStickyFault_BootupGyroscope";
938 case SpnValue::Fault_PIGEON2_BootupMagne:
return "Fault_BootupMagnetometer";
939 case SpnValue::StickyFault_PIGEON2_BootupMagne:
return "StickyFault_BootupMagnetometer";
940 case SpnValue::ClearStickyFault_PIGEON2_BootupMagne:
return "ClearStickyFault_BootupMagnetometer";
941 case SpnValue::Fault_PIGEON2_BootIntoMotion:
return "Fault_BootIntoMotion";
942 case SpnValue::StickyFault_PIGEON2_BootIntoMotion:
return "StickyFault_BootIntoMotion";
943 case SpnValue::ClearStickyFault_PIGEON2_BootIntoMotion:
return "ClearStickyFault_BootIntoMotion";
944 case SpnValue::Fault_PIGEON2_DataAcquiredLate:
return "Fault_DataAcquiredLate";
945 case SpnValue::StickyFault_PIGEON2_DataAcquiredLate:
return "StickyFault_DataAcquiredLate";
946 case SpnValue::ClearStickyFault_PIGEON2_DataAcquiredLate:
return "ClearStickyFault_DataAcquiredLate";
947 case SpnValue::Fault_PIGEON2_LoopTimeSlow:
return "Fault_LoopTimeSlow";
948 case SpnValue::StickyFault_PIGEON2_LoopTimeSlow:
return "StickyFault_LoopTimeSlow";
949 case SpnValue::ClearStickyFault_PIGEON2_LoopTimeSlow:
return "ClearStickyFault_LoopTimeSlow";
950 case SpnValue::Fault_PIGEON2_SaturatedMagne:
return "Fault_SaturatedMagnetometer";
951 case SpnValue::StickyFault_PIGEON2_SaturatedMagne:
return "StickyFault_SaturatedMagnetometer";
952 case SpnValue::ClearStickyFault_PIGEON2_SaturatedMagne:
return "ClearStickyFault_SaturatedMagnetometer";
953 case SpnValue::Fault_PIGEON2_SaturatedAccel:
return "Fault_SaturatedAccelometer";
954 case SpnValue::StickyFault_PIGEON2_SaturatedAccel:
return "StickyFault_SaturatedAccelometer";
955 case SpnValue::ClearStickyFault_PIGEON2_SaturatedAccel:
return "ClearStickyFault_SaturatedAccelometer";
956 case SpnValue::Fault_PIGEON2_SaturatedGyros:
return "Fault_SaturatedGyroscope";
957 case SpnValue::StickyFault_PIGEON2_SaturatedGyros:
return "StickyFault_SaturatedGyroscope";
958 case SpnValue::ClearStickyFault_PIGEON2_SaturatedGyros:
return "ClearStickyFault_SaturatedGyroscope";
959 case SpnValue::Fault_CANCODER_BadMagnet:
return "Fault_BadMagnet";
960 case SpnValue::StickyFault_CANCODER_BadMagnet:
return "StickyFault_BadMagnet";
961 case SpnValue::ClearStickyFault_CANCODER_BadMagnet:
return "ClearStickyFault_BadMagnet";
962 case SpnValue::Fault_TALONFX_BridgeBrownout:
return "Fault_BridgeBrownout";
963 case SpnValue::StickyFault_TALONFX_BridgeBrownout:
return "StickyFault_BridgeBrownout";
964 case SpnValue::ClearStickyFault_TALONFX_BridgeBrownout:
return "ClearStickyFault_BridgeBrownout";
965 case SpnValue::Fault_TALONFX_RemoteSensorReset:
return "Fault_RemoteSensorReset";
966 case SpnValue::StickyFault_TALONFX_RemoteSensorReset:
return "StickyFault_RemoteSensorReset";
967 case SpnValue::ClearStickyFault_TALONFX_RemoteSensorReset:
return "ClearStickyFault_RemoteSensorReset";
968 case SpnValue::Fault_TALONFX_MissingDifferentialFX:
return "Fault_MissingDifferentialFX";
969 case SpnValue::StickyFault_TALONFX_MissingDifferentialFX:
return "StickyFault_MissingDifferentialFX";
970 case SpnValue::ClearStickyFault_TALONFX_MissingDifferentialFX:
return "ClearStickyFault_MissingDifferentialFX";
971 case SpnValue::Fault_TALONFX_RemoteSensorPosOverflow:
return "Fault_RemoteSensorPosOverflow";
972 case SpnValue::StickyFault_TALONFX_RemoteSensorPosOverflow:
return "StickyFault_RemoteSensorPosOverflow";
973 case SpnValue::ClearStickyFault_TALONFX_RemoteSensorPosOverflow:
return "ClearStickyFault_RemoteSensorPosOverflow";
974 case SpnValue::Fault_TALONFX_OverSupplyV:
return "Fault_OverSupplyV";
975 case SpnValue::StickyFault_TALONFX_OverSupplyV:
return "StickyFault_OverSupplyV";
976 case SpnValue::ClearStickyFault_TALONFX_OverSupplyV:
return "ClearStickyFault_OverSupplyV";
977 case SpnValue::Fault_TALONFX_UnstableSupplyV:
return "Fault_UnstableSupplyV";
978 case SpnValue::StickyFault_TALONFX_UnstableSupplyV:
return "StickyFault_UnstableSupplyV";
979 case SpnValue::ClearStickyFault_TALONFX_UnstableSupplyV:
return "ClearStickyFault_UnstableSupplyV";
980 case SpnValue::Fault_TALONFX_ReverseHardLimit:
return "Fault_ReverseHardLimit";
981 case SpnValue::StickyFault_TALONFX_ReverseHardLimit:
return "StickyFault_ReverseHardLimit";
982 case SpnValue::ClearStickyFault_TALONFX_ReverseHardLimit:
return "ClearStickyFault_ReverseHardLimit";
983 case SpnValue::Fault_TALONFX_ForwardHardLimit:
return "Fault_ForwardHardLimit";
984 case SpnValue::StickyFault_TALONFX_ForwardHardLimit:
return "StickyFault_ForwardHardLimit";
985 case SpnValue::ClearStickyFault_TALONFX_ForwardHardLimit:
return "ClearStickyFault_ForwardHardLimit";
986 case SpnValue::Fault_TALONFX_ReverseSoftLimit:
return "Fault_ReverseSoftLimit";
987 case SpnValue::StickyFault_TALONFX_ReverseSoftLimit:
return "StickyFault_ReverseSoftLimit";
988 case SpnValue::ClearStickyFault_TALONFX_ReverseSoftLimit:
return "ClearStickyFault_ReverseSoftLimit";
989 case SpnValue::Fault_TALONFX_ForwardSoftLimit:
return "Fault_ForwardSoftLimit";
990 case SpnValue::StickyFault_TALONFX_ForwardSoftLimit:
return "StickyFault_ForwardSoftLimit";
991 case SpnValue::ClearStickyFault_TALONFX_ForwardSoftLimit:
return "ClearStickyFault_ForwardSoftLimit";
992 case SpnValue::Fault_TALONFX_MissingRemoteSensor:
return "Fault_RemoteSensorDataInvalid";
993 case SpnValue::StickyFault_TALONFX_MissingRemoteSensor:
return "StickyFault_RemoteSensorDataInvalid";
994 case SpnValue::ClearStickyFault_TALONFX_MissingRemoteSensor:
return "ClearStickyFault_RemoteSensorDataInvalid";
995 case SpnValue::Fault_TALONFX_FusedSensorOutOfSync:
return "Fault_FusedSensorOutOfSync";
996 case SpnValue::StickyFault_TALONFX_FusedSensorOutOfSync:
return "StickyFault_FusedSensorOutOfSync";
997 case SpnValue::ClearStickyFault_TALONFX_FusedSensorOutOfSync:
return "ClearStickyFault_FusedSensorOutOfSync";
998 case SpnValue::Fault_TALONFX_StatorCurrLimit:
return "Fault_StatorCurrLimit";
999 case SpnValue::StickyFault_TALONFX_StatorCurrLimit:
return "StickyFault_StatorCurrLimit";
1000 case SpnValue::ClearStickyFault_TALONFX_StatorCurrLimit:
return "ClearStickyFault_StatorCurrLimit";
1001 case SpnValue::Fault_TALONFX_SupplyCurrLimit:
return "Fault_SupplyCurrLimit";
1002 case SpnValue::StickyFault_TALONFX_SupplyCurrLimit:
return "StickyFault_SupplyCurrLimit";
1003 case SpnValue::ClearStickyFault_TALONFX_SupplyCurrLimit:
return "ClearStickyFault_SupplyCurrLimit";
1004 case SpnValue::Fault_TALONFX_UsingFusedCCWhileUnlicensed:
return "Fault_UsingFusedCANcoderWhileUnlicensed";
1005 case SpnValue::StickyFault_TALONFX_UsingFusedCCWhileUnlicensed:
return "StickyFault_UsingFusedCANcoderWhileUnlicensed";
1007 return "Invalid Value";
1016 std::string GetUnits()
const
1020 case SpnValue::TalonFX_System_State:
return "";
1021 case SpnValue::Startup_ResetFlags:
return "";
1022 case SpnValue::Version_Major:
return "";
1023 case SpnValue::Version_Minor:
return "";
1024 case SpnValue::Version_Bugfix:
return "";
1025 case SpnValue::Version_Build:
return "";
1026 case SpnValue::Version_Full:
return "";
1027 case SpnValue::Licensing_IsProLicensed:
return "";
1028 case SpnValue::CustomParam0:
return "";
1029 case SpnValue::CustomParam1:
return "";
1030 case SpnValue::CANcoder_SensorDirection:
return "";
1031 case SpnValue::FrcLock:
return "";
1032 case SpnValue::RobotEnabled:
return "";
1033 case SpnValue::LED1_OnColor:
return "";
1034 case SpnValue::LED1_OffColor:
return "";
1035 case SpnValue::LED2_OnColor:
return "";
1036 case SpnValue::LED2_OffColor:
return "";
1037 case SpnValue::AllFaults:
return "";
1038 case SpnValue::AllStickyFaults:
return "";
1039 case SpnValue::Pigeon2UseCompass:
return "";
1040 case SpnValue::Pigeon2DisableTemperatureCompensation:
return "";
1041 case SpnValue::Pigeon2DisableNoMotionCalibration:
return "";
1042 case SpnValue::Pigeon2MountPoseYaw:
return "deg";
1043 case SpnValue::Pigeon2MountPosePitch:
return "deg";
1044 case SpnValue::Pigeon2MountPoseRoll:
return "deg";
1045 case SpnValue::Pigeon2GyroScalarX:
return "deg per rotation";
1046 case SpnValue::Pigeon2GyroScalarY:
return "deg per rotation";
1047 case SpnValue::Pigeon2GyroScalarZ:
return "deg per rotation";
1048 case SpnValue::Pigeon2Yaw:
return "deg";
1049 case SpnValue::Pigeon2Pitch:
return "deg";
1050 case SpnValue::Pigeon2Roll:
return "deg";
1051 case SpnValue::Pigeon2QuatW:
return "";
1052 case SpnValue::Pigeon2QuatX:
return "";
1053 case SpnValue::Pigeon2QuatY:
return "";
1054 case SpnValue::Pigeon2QuatZ:
return "";
1055 case SpnValue::Pigeon2GravityVectorX:
return "";
1056 case SpnValue::Pigeon2GravityVectorY:
return "";
1057 case SpnValue::Pigeon2GravityVectorZ:
return "";
1058 case SpnValue::Pigeon2Temperature:
return "℃";
1059 case SpnValue::Pigeon2NoMotionCalEnabled:
return "";
1060 case SpnValue::Pigeon2NoMotionCount:
return "";
1061 case SpnValue::Pigeon2TempCompDisabled:
return "";
1062 case SpnValue::Pigeon2UpTime:
return "s";
1063 case SpnValue::Pigeon2AccumGyroX:
return "deg";
1064 case SpnValue::Pigeon2AccumGyroY:
return "deg";
1065 case SpnValue::Pigeon2AccumGyroZ:
return "deg";
1066 case SpnValue::Pigeon2AngularVelocityX:
return "dps";
1067 case SpnValue::Pigeon2AngularVelocityY:
return "dps";
1068 case SpnValue::Pigeon2AngularVelocityZ:
return "dps";
1069 case SpnValue::Pigeon2AccelerationX:
return "g";
1070 case SpnValue::Pigeon2AccelerationY:
return "g";
1071 case SpnValue::Pigeon2AccelerationZ:
return "g";
1072 case SpnValue::Pigeon2_SupplyVoltage:
return "V";
1073 case SpnValue::Pigeon2MagneticFieldX:
return "uT";
1074 case SpnValue::Pigeon2MagneticFieldY:
return "uT";
1075 case SpnValue::Pigeon2MagneticFieldZ:
return "uT";
1076 case SpnValue::Pigeon2RawMagneticFieldX:
return "uT";
1077 case SpnValue::Pigeon2RawMagneticFieldY:
return "uT";
1078 case SpnValue::Pigeon2RawMagneticFieldZ:
return "uT";
1079 case SpnValue::CANCoder_MagnetOffset:
return "rotations";
1080 case SpnValue::CANcoder_AbsoluteSensorRange:
return "";
1081 case SpnValue::TalonFX_SetSensorPosition:
return "rotations";
1082 case SpnValue::CANCoder_SetSensorPosition:
return "rotations";
1083 case SpnValue::Pigeon2_SetYaw:
return "deg";
1084 case SpnValue::DeviceEnabled:
return "";
1085 case SpnValue::PRO_MotorOutput_MotorVoltage:
return "V";
1086 case SpnValue::ForwardLimit:
return "";
1087 case SpnValue::ReverseLimit:
return "";
1088 case SpnValue::PRO_MotorOutput_RotorPolarity:
return "";
1089 case SpnValue::PRO_MotorOutput_DutyCycle:
return "fractional";
1090 case SpnValue::PRO_MotorOutput_TorqueCurrent:
return "A";
1091 case SpnValue::PRO_SupplyAndTemp_StatorCurrent:
return "A";
1092 case SpnValue::PRO_SupplyAndTemp_SupplyCurrent:
return "A";
1093 case SpnValue::PRO_SupplyAndTemp_SupplyVoltage:
return "V";
1094 case SpnValue::PRO_SupplyAndTemp_DeviceTemp:
return "℃";
1095 case SpnValue::PRO_SupplyAndTemp_ProcessorTemp:
return "℃";
1096 case SpnValue::PRO_RotorPosAndVel_Velocity:
return "rotations per second";
1097 case SpnValue::PRO_RotorPosAndVel_Position:
return "rotations";
1098 case SpnValue::PRO_PosAndVel_Velocity:
return "rotations per second";
1099 case SpnValue::PRO_PosAndVel_Position:
return "rotations";
1100 case SpnValue::PRO_PosAndVel_Acceleration:
return "rotations per second²";
1101 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_DC:
return "fractional";
1102 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_V:
return "V";
1103 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_A:
return "A";
1104 case SpnValue::PRO_PIDStateEnables_FeedForward_DC:
return "fractional";
1105 case SpnValue::PRO_PIDStateEnables_FeedForward_V:
return "V";
1106 case SpnValue::PRO_PIDStateEnables_FeedForward_A:
return "A";
1107 case SpnValue::TalonFX_ControlMode:
return "";
1108 case SpnValue::PRO_PIDStateEnables_IsMotionMagicRunning:
return "";
1109 case SpnValue::PRO_PIDStateEnables_DeviceEnable:
return "";
1110 case SpnValue::PRO_PIDRefPIDErr_PIDRef_Position:
return "rotations";
1111 case SpnValue::PRO_PIDRefPIDErr_PIDRef_Velocity:
return "rotations per second";
1112 case SpnValue::PRO_PIDRefPIDErr_PIDErr_Position:
return "rotations";
1113 case SpnValue::PRO_PIDRefPIDErr_PIDErr_Velocity:
return "rotations per second";
1114 case SpnValue::PRO_PIDOutput_ProportionalOutput_DC:
return "fractional";
1115 case SpnValue::PRO_PIDOutput_ProportionalOutput_V:
return "V";
1116 case SpnValue::PRO_PIDOutput_ProportionalOutput_A:
return "A";
1117 case SpnValue::PRO_PIDOutput_DerivativeOutput_DC:
return "fractional";
1118 case SpnValue::PRO_PIDOutput_DerivativeOutput_V:
return "V";
1119 case SpnValue::PRO_PIDOutput_DerivativeOutput_A:
return "A";
1120 case SpnValue::PRO_PIDOutput_Output_DC:
return "fractional";
1121 case SpnValue::PRO_PIDOutput_Output_V:
return "V";
1122 case SpnValue::PRO_PIDOutput_Output_A:
return "A";
1123 case SpnValue::PRO_PIDOutput_Slot:
return "";
1124 case SpnValue::PRO_PIDRefSlopeECUTime_ReferenceSlope_Position:
return "rotations per second";
1125 case SpnValue::PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity:
return "rotations per second²";
1126 case SpnValue::PRO_MotorOutput_PIDState_Diff_DutyCycle:
return "fractional";
1127 case SpnValue::PRO_MotorOutput_PIDState_Diff_TorqueCurrent:
return "A";
1128 case SpnValue::TalonFX_DifferentialControlMode:
return "";
1129 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_DC:
return "fractional";
1130 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_V:
return "V";
1131 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_A:
return "A";
1132 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_DC:
return "fractional";
1133 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_V:
return "V";
1134 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_A:
return "A";
1135 case SpnValue::PRO_AvgPosAndVel_Velocity:
return "rotations per second";
1136 case SpnValue::PRO_AvgPosAndVel_Position:
return "rotations";
1137 case SpnValue::PRO_DiffPosAndVel_Velocity:
return "rotations per second";
1138 case SpnValue::PRO_DiffPosAndVel_Position:
return "rotations";
1139 case SpnValue::PRO_DiffPIDRefPIDErr_PIDRef_Position:
return "rotations";
1140 case SpnValue::PRO_DiffPIDRefPIDErr_PIDRef_Velocity:
return "rotations per second";
1141 case SpnValue::PRO_DiffPIDRefPIDErr_PIDErr_Position:
return "rotations";
1142 case SpnValue::PRO_DiffPIDRefPIDErr_PIDErr_Velocity:
return "rotations per second";
1143 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_DC:
return "fractional";
1144 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_V:
return "V";
1145 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_A:
return "A";
1146 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_DC:
return "fractional";
1147 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_V:
return "V";
1148 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_A:
return "A";
1149 case SpnValue::PRO_DiffPIDOutput_Output_DC:
return "fractional";
1150 case SpnValue::PRO_DiffPIDOutput_Output_V:
return "V";
1151 case SpnValue::PRO_DiffPIDOutput_Output_A:
return "A";
1152 case SpnValue::PRO_DiffPIDOutput_Slot:
return "";
1153 case SpnValue::PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Position:
return "rotations per second";
1154 case SpnValue::PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Velocity:
return "rotations per second²";
1155 case SpnValue::Slot0_kP:
return "";
1156 case SpnValue::Slot0_kI:
return "";
1157 case SpnValue::Slot0_kD:
return "";
1158 case SpnValue::Slot0_kS:
return "";
1159 case SpnValue::Slot0_kV:
return "";
1160 case SpnValue::Slot0_kA:
return "";
1161 case SpnValue::Slot0_kG:
return "";
1162 case SpnValue::Slot0_kG_Type:
return "";
1163 case SpnValue::Slot1_kP:
return "";
1164 case SpnValue::Slot1_kI:
return "";
1165 case SpnValue::Slot1_kD:
return "";
1166 case SpnValue::Slot1_kS:
return "";
1167 case SpnValue::Slot1_kV:
return "";
1168 case SpnValue::Slot1_kA:
return "";
1169 case SpnValue::Slot1_kG:
return "";
1170 case SpnValue::Slot1_kG_Type:
return "";
1171 case SpnValue::Slot2_kP:
return "";
1172 case SpnValue::Slot2_kI:
return "";
1173 case SpnValue::Slot2_kD:
return "";
1174 case SpnValue::Slot2_kS:
return "";
1175 case SpnValue::Slot2_kV:
return "";
1176 case SpnValue::Slot2_kA:
return "";
1177 case SpnValue::Slot2_kG:
return "";
1178 case SpnValue::Slot2_kG_Type:
return "";
1179 case SpnValue::Config_Inverted:
return "";
1180 case SpnValue::Config_SupplyVLowpassTau:
return "sec";
1181 case SpnValue::Config_BeepOnBoot:
return "";
1182 case SpnValue::Config_NeutralMode:
return "";
1183 case SpnValue::Config_DutyCycleNeutralDB:
return "fractional";
1184 case SpnValue::Config_StatorCurrentLimit:
return "A";
1185 case SpnValue::Config_StatorCurrLimitEn:
return "";
1186 case SpnValue::Config_SupplyCurrentLimit:
return "A";
1187 case SpnValue::Config_SupplyCurrLimitEn:
return "";
1188 case SpnValue::Config_PeakForwardDC:
return "fractional";
1189 case SpnValue::Config_PeakReverseDC:
return "fractional";
1190 case SpnValue::Config_PeakForwardV:
return "V";
1191 case SpnValue::Config_PeakReverseV:
return "V";
1192 case SpnValue::Config_PeakForTorqCurr:
return "A";
1193 case SpnValue::Config_PeakRevTorqCurr:
return "A";
1194 case SpnValue::Config_TorqueNeutralDB:
return "A";
1195 case SpnValue::Config_FeedbackRotorOffset:
return "rotations";
1196 case SpnValue::Config_SensorToMechanismRatio:
return "scalar";
1197 case SpnValue::Config_RotorToSensorRatio:
return "scalar";
1198 case SpnValue::Config_FeedbackSensorSource:
return "";
1199 case SpnValue::Config_FeedbackRemoteSensorID:
return "";
1200 case SpnValue::Config_DutyCycleOpenLoopRampPeriod:
return "sec";
1201 case SpnValue::Config_VoltageOpenLoopRampPeriod:
return "sec";
1202 case SpnValue::Config_TorqueOpenLoopRampPeriod:
return "sec";
1203 case SpnValue::Config_DutyCycleClosedLoopRampPeriod:
return "sec";
1204 case SpnValue::Config_VoltageClosedLoopRampPeriod:
return "sec";
1205 case SpnValue::Config_TorqueClosedLoopRampPeriod:
return "sec";
1206 case SpnValue::Config_ForwardLimitType:
return "";
1207 case SpnValue::Config_ForwardLimitAutosetPosEnable:
return "";
1208 case SpnValue::Config_ForwardLimitAutosetPosValue:
return "rotations";
1209 case SpnValue::Config_ForwardLimitEnable:
return "";
1210 case SpnValue::Config_ForwardLimitSource:
return "";
1211 case SpnValue::Config_ForwardLimitRemoteSensorID:
return "";
1212 case SpnValue::Config_ReverseLimitType:
return "";
1213 case SpnValue::Config_ReverseLimitAutosetPosEnable:
return "";
1214 case SpnValue::Config_ReverseLimitAutosetPosValue:
return "rotations";
1215 case SpnValue::Config_ReverseLimitEnable:
return "";
1216 case SpnValue::Config_ReverseLimitSource:
return "";
1217 case SpnValue::Config_ReverseLimitRemoteSensorID:
return "";
1218 case SpnValue::Config_ForwardSoftLimitEnable:
return "";
1219 case SpnValue::Config_ReverseSoftLimitEnable:
return "";
1220 case SpnValue::Config_ForwardSoftLimitThreshold:
return "rotations";
1221 case SpnValue::Config_ReverseSoftLimitThreshold:
return "rotations";
1222 case SpnValue::Config_MotionMagicCruiseVelocity:
return "rps";
1223 case SpnValue::Config_MotionMagicAcceleration:
return "rot per sec²";
1224 case SpnValue::Config_MotionMagicJerk:
return "rot per sec³";
1225 case SpnValue::Config_PeakDiffDC:
return "fractional";
1226 case SpnValue::Config_PeakDiffV:
return "V";
1227 case SpnValue::Config_PeakDiffTorqCurr:
return "A";
1228 case SpnValue::CANcoder_Velocity:
return "rotations per second";
1229 case SpnValue::CANcoder_Position:
return "rotations";
1230 case SpnValue::CANcoder_AbsPosition:
return "rotations";
1231 case SpnValue::CANCoder_RawVel:
return "rotations per second";
1232 case SpnValue::CANCoder_RawPos:
return "rotations";
1233 case SpnValue::CANCoder_SupplyVoltage:
return "V";
1234 case SpnValue::CANcoder_MagHealth:
return "";
1235 case SpnValue::SPN_ClearStickyFaults:
return "";
1236 case SpnValue::PRO_MotorOutput_BridgeType_Public:
return "";
1237 case SpnValue::Config_ContinuousWrap:
return "";
1238 case SpnValue::Config_SupplyCurrThres:
return "A";
1239 case SpnValue::Config_SupplyTimeThres:
return "sec";
1240 case SpnValue::Config_DifferentialSensorSource:
return "";
1241 case SpnValue::Config_DifferentialTalonFXSensorID:
return "";
1242 case SpnValue::Config_DifferentialRemoteSensorID:
return "";
1243 case SpnValue::Config_BeepOnConfig:
return "";
1244 case SpnValue::Config_AllowMusicDurDisable:
return "";
1245 case SpnValue::Compliancy_Version:
return "";
1246 case SpnValue::Version_IsProLicensed:
return "";
1247 case SpnValue::Fault_Hardware:
return "";
1248 case SpnValue::StickyFault_Hardware:
return "";
1249 case SpnValue::ClearStickyFault_Hardware:
return "";
1250 case SpnValue::Fault_ProcTemp:
return "";
1251 case SpnValue::StickyFault_ProcTemp:
return "";
1252 case SpnValue::ClearStickyFault_ProcTemp:
return "";
1253 case SpnValue::Fault_DeviceTemp:
return "";
1254 case SpnValue::StickyFault_DeviceTemp:
return "";
1255 case SpnValue::ClearStickyFault_DeviceTemp:
return "";
1256 case SpnValue::Fault_Undervoltage:
return "";
1257 case SpnValue::StickyFault_Undervoltage:
return "";
1258 case SpnValue::ClearStickyFault_Undervoltage:
return "";
1259 case SpnValue::Fault_BootDuringEnable:
return "";
1260 case SpnValue::StickyFault_BootDuringEnable:
return "";
1261 case SpnValue::ClearStickyFault_BootDuringEnable:
return "";
1262 case SpnValue::Fault_UnlicensedFeatureInUse:
return "";
1263 case SpnValue::StickyFault_UnlicensedFeatureInUse:
return "";
1264 case SpnValue::Fault_PIGEON2_BootupAccel:
return "";
1265 case SpnValue::StickyFault_PIGEON2_BootupAccel:
return "";
1266 case SpnValue::ClearStickyFault_PIGEON2_BootupAccel:
return "";
1267 case SpnValue::Fault_PIGEON2_BootupGyros:
return "";
1268 case SpnValue::StickyFault_PIGEON2_BootupGyros:
return "";
1269 case SpnValue::ClearStickyFault_PIGEON2_BootupGyros:
return "";
1270 case SpnValue::Fault_PIGEON2_BootupMagne:
return "";
1271 case SpnValue::StickyFault_PIGEON2_BootupMagne:
return "";
1272 case SpnValue::ClearStickyFault_PIGEON2_BootupMagne:
return "";
1273 case SpnValue::Fault_PIGEON2_BootIntoMotion:
return "";
1274 case SpnValue::StickyFault_PIGEON2_BootIntoMotion:
return "";
1275 case SpnValue::ClearStickyFault_PIGEON2_BootIntoMotion:
return "";
1276 case SpnValue::Fault_PIGEON2_DataAcquiredLate:
return "";
1277 case SpnValue::StickyFault_PIGEON2_DataAcquiredLate:
return "";
1278 case SpnValue::ClearStickyFault_PIGEON2_DataAcquiredLate:
return "";
1279 case SpnValue::Fault_PIGEON2_LoopTimeSlow:
return "";
1280 case SpnValue::StickyFault_PIGEON2_LoopTimeSlow:
return "";
1281 case SpnValue::ClearStickyFault_PIGEON2_LoopTimeSlow:
return "";
1282 case SpnValue::Fault_PIGEON2_SaturatedMagne:
return "";
1283 case SpnValue::StickyFault_PIGEON2_SaturatedMagne:
return "";
1284 case SpnValue::ClearStickyFault_PIGEON2_SaturatedMagne:
return "";
1285 case SpnValue::Fault_PIGEON2_SaturatedAccel:
return "";
1286 case SpnValue::StickyFault_PIGEON2_SaturatedAccel:
return "";
1287 case SpnValue::ClearStickyFault_PIGEON2_SaturatedAccel:
return "";
1288 case SpnValue::Fault_PIGEON2_SaturatedGyros:
return "";
1289 case SpnValue::StickyFault_PIGEON2_SaturatedGyros:
return "";
1290 case SpnValue::ClearStickyFault_PIGEON2_SaturatedGyros:
return "";
1291 case SpnValue::Fault_CANCODER_BadMagnet:
return "";
1292 case SpnValue::StickyFault_CANCODER_BadMagnet:
return "";
1293 case SpnValue::ClearStickyFault_CANCODER_BadMagnet:
return "";
1294 case SpnValue::Fault_TALONFX_BridgeBrownout:
return "";
1295 case SpnValue::StickyFault_TALONFX_BridgeBrownout:
return "";
1296 case SpnValue::ClearStickyFault_TALONFX_BridgeBrownout:
return "";
1297 case SpnValue::Fault_TALONFX_RemoteSensorReset:
return "";
1298 case SpnValue::StickyFault_TALONFX_RemoteSensorReset:
return "";
1299 case SpnValue::ClearStickyFault_TALONFX_RemoteSensorReset:
return "";
1300 case SpnValue::Fault_TALONFX_MissingDifferentialFX:
return "";
1301 case SpnValue::StickyFault_TALONFX_MissingDifferentialFX:
return "";
1302 case SpnValue::ClearStickyFault_TALONFX_MissingDifferentialFX:
return "";
1303 case SpnValue::Fault_TALONFX_RemoteSensorPosOverflow:
return "";
1304 case SpnValue::StickyFault_TALONFX_RemoteSensorPosOverflow:
return "";
1305 case SpnValue::ClearStickyFault_TALONFX_RemoteSensorPosOverflow:
return "";
1306 case SpnValue::Fault_TALONFX_OverSupplyV:
return "";
1307 case SpnValue::StickyFault_TALONFX_OverSupplyV:
return "";
1308 case SpnValue::ClearStickyFault_TALONFX_OverSupplyV:
return "";
1309 case SpnValue::Fault_TALONFX_UnstableSupplyV:
return "";
1310 case SpnValue::StickyFault_TALONFX_UnstableSupplyV:
return "";
1311 case SpnValue::ClearStickyFault_TALONFX_UnstableSupplyV:
return "";
1312 case SpnValue::Fault_TALONFX_ReverseHardLimit:
return "";
1313 case SpnValue::StickyFault_TALONFX_ReverseHardLimit:
return "";
1314 case SpnValue::ClearStickyFault_TALONFX_ReverseHardLimit:
return "";
1315 case SpnValue::Fault_TALONFX_ForwardHardLimit:
return "";
1316 case SpnValue::StickyFault_TALONFX_ForwardHardLimit:
return "";
1317 case SpnValue::ClearStickyFault_TALONFX_ForwardHardLimit:
return "";
1318 case SpnValue::Fault_TALONFX_ReverseSoftLimit:
return "";
1319 case SpnValue::StickyFault_TALONFX_ReverseSoftLimit:
return "";
1320 case SpnValue::ClearStickyFault_TALONFX_ReverseSoftLimit:
return "";
1321 case SpnValue::Fault_TALONFX_ForwardSoftLimit:
return "";
1322 case SpnValue::StickyFault_TALONFX_ForwardSoftLimit:
return "";
1323 case SpnValue::ClearStickyFault_TALONFX_ForwardSoftLimit:
return "";
1324 case SpnValue::Fault_TALONFX_MissingRemoteSensor:
return "";
1325 case SpnValue::StickyFault_TALONFX_MissingRemoteSensor:
return "";
1326 case SpnValue::ClearStickyFault_TALONFX_MissingRemoteSensor:
return "";
1327 case SpnValue::Fault_TALONFX_FusedSensorOutOfSync:
return "";
1328 case SpnValue::StickyFault_TALONFX_FusedSensorOutOfSync:
return "";
1329 case SpnValue::ClearStickyFault_TALONFX_FusedSensorOutOfSync:
return "";
1330 case SpnValue::Fault_TALONFX_StatorCurrLimit:
return "";
1331 case SpnValue::StickyFault_TALONFX_StatorCurrLimit:
return "";
1332 case SpnValue::ClearStickyFault_TALONFX_StatorCurrLimit:
return "";
1333 case SpnValue::Fault_TALONFX_SupplyCurrLimit:
return "";
1334 case SpnValue::StickyFault_TALONFX_SupplyCurrLimit:
return "";
1335 case SpnValue::ClearStickyFault_TALONFX_SupplyCurrLimit:
return "";
1336 case SpnValue::Fault_TALONFX_UsingFusedCCWhileUnlicensed:
return "";
1337 case SpnValue::StickyFault_TALONFX_UsingFusedCCWhileUnlicensed:
return "";
1339 return "Invalid Value";
1348 std::string GetSummary()
const
1352 case SpnValue::TalonFX_System_State:
return "System state of the device";
1353 case SpnValue::Startup_ResetFlags:
return "This signal needs a summary";
1354 case SpnValue::Version_Major:
return "App Major Version number.";
1355 case SpnValue::Version_Minor:
return "App Minor Version number.";
1356 case SpnValue::Version_Bugfix:
return "App Bugfix Version number.";
1357 case SpnValue::Version_Build:
return "App Build Version number.";
1358 case SpnValue::Version_Full:
return "Full Version. The format is a four byte value.";
1359 case SpnValue::Licensing_IsProLicensed:
return "Whether the device is pro licensed or not";
1360 case SpnValue::CustomParam0:
return "Custom parameter 0. This is provided to allow end-applications to store persistent information in the device.";
1361 case SpnValue::CustomParam1:
return "Custom parameter 1. This is provided to allow end-applications to store persistent information in the device.";
1362 case SpnValue::CANcoder_SensorDirection:
return "Direction of the sensor to determine positive facing the LED side of the CANcoder.";
1363 case SpnValue::FrcLock:
return "True if device is locked by FRC.";
1364 case SpnValue::RobotEnabled:
return "True if the robot is enabled.";
1365 case SpnValue::LED1_OnColor:
return "The Color of LED1 when it's \"On\".";
1366 case SpnValue::LED1_OffColor:
return "The Color of LED1 when it's \"Off\".";
1367 case SpnValue::LED2_OnColor:
return "The Color of LED2 when it's \"On\".";
1368 case SpnValue::LED2_OffColor:
return "The Color of LED2 when it's \"Off\".";
1369 case SpnValue::AllFaults:
return "Integer representing all faults";
1370 case SpnValue::AllStickyFaults:
return "Integer representing all sticky faults";
1371 case SpnValue::Pigeon2UseCompass:
return "Turns on or off the magnetometer fusing for 9-axis. FRC users are not recommended to turn this on, as the magnetic influence of the robot will likely negatively affect the performance of the Pigeon2.";
1372 case SpnValue::Pigeon2DisableTemperatureCompensation:
return "Disables using the temperature compensation feature";
1373 case SpnValue::Pigeon2DisableNoMotionCalibration:
return "Disables using the no-motion calibration feature";
1374 case SpnValue::Pigeon2MountPoseYaw:
return "The mounting calibration yaw-component";
1375 case SpnValue::Pigeon2MountPosePitch:
return "The mounting calibration pitch-component";
1376 case SpnValue::Pigeon2MountPoseRoll:
return "The mounting calibration roll-component";
1377 case SpnValue::Pigeon2GyroScalarX:
return "The gyro scalar component for the X axis";
1378 case SpnValue::Pigeon2GyroScalarY:
return "The gyro scalar component for the Y axis";
1379 case SpnValue::Pigeon2GyroScalarZ:
return "The gyro scalar component for the Z axis";
1380 case SpnValue::Pigeon2Yaw:
return "Current reported yaw of the Pigeon2.";
1381 case SpnValue::Pigeon2Pitch:
return "Current reported pitch of the Pigeon2.";
1382 case SpnValue::Pigeon2Roll:
return "Current reported roll of the Pigeon2.";
1383 case SpnValue::Pigeon2QuatW:
return "The W component of the reported Quaternion.";
1384 case SpnValue::Pigeon2QuatX:
return "The X component of the reported Quaternion.";
1385 case SpnValue::Pigeon2QuatY:
return "The Y component of the reported Quaternion.";
1386 case SpnValue::Pigeon2QuatZ:
return "The Z component of the reported Quaternion.";
1387 case SpnValue::Pigeon2GravityVectorX:
return "The X component of the gravity vector.";
1388 case SpnValue::Pigeon2GravityVectorY:
return "The Y component of the gravity vector.";
1389 case SpnValue::Pigeon2GravityVectorZ:
return "The Z component of the gravity vector.";
1390 case SpnValue::Pigeon2Temperature:
return "Temperature of the Pigeon 2.";
1391 case SpnValue::Pigeon2NoMotionCalEnabled:
return "Whether the no-motion calibration feature is enabled.";
1392 case SpnValue::Pigeon2NoMotionCount:
return "The number of times a no-motion event occurred, wraps at 15.";
1393 case SpnValue::Pigeon2TempCompDisabled:
return "Whether the temperature-compensation feature is disabled.";
1394 case SpnValue::Pigeon2UpTime:
return "How long the Pigeon 2's been up in seconds, caps at 255 seconds.";
1395 case SpnValue::Pigeon2AccumGyroX:
return "The accumulated gyro about the X axis without any sensor fusing.";
1396 case SpnValue::Pigeon2AccumGyroY:
return "The accumulated gyro about the Y axis without any sensor fusing.";
1397 case SpnValue::Pigeon2AccumGyroZ:
return "The accumulated gyro about the Z axis without any sensor fusing.";
1398 case SpnValue::Pigeon2AngularVelocityX:
return "The angular velocity (ω) of the Pigeon 2 about the X axis.";
1399 case SpnValue::Pigeon2AngularVelocityY:
return "The angular velocity (ω) of the Pigeon 2 about the Y axis.";
1400 case SpnValue::Pigeon2AngularVelocityZ:
return "The angular velocity (ω) of the Pigeon 2 about the Z axis.";
1401 case SpnValue::Pigeon2AccelerationX:
return "The acceleration measured by Pigeon2 in the X direction.";
1402 case SpnValue::Pigeon2AccelerationY:
return "The acceleration measured by Pigeon2 in the Y direction.";
1403 case SpnValue::Pigeon2AccelerationZ:
return "The acceleration measured by Pigeon2 in the Z direction.";
1404 case SpnValue::Pigeon2_SupplyVoltage:
return "Measured supply voltage to the Pigeon2.";
1405 case SpnValue::Pigeon2MagneticFieldX:
return "The biased magnitude of the magnetic field measured by the Pigeon 2 in the X direction. This is only valid after performing a magnetometer calibration.";
1406 case SpnValue::Pigeon2MagneticFieldY:
return "The biased magnitude of the magnetic field measured by the Pigeon 2 in the Y direction. This is only valid after performing a magnetometer calibration.";
1407 case SpnValue::Pigeon2MagneticFieldZ:
return "The biased magnitude of the magnetic field measured by the Pigeon 2 in the Z direction. This is only valid after performing a magnetometer calibration.";
1408 case SpnValue::Pigeon2RawMagneticFieldX:
return "The raw magnitude of the magnetic field measured by the Pigeon 2 in the X direction. This is only valid after performing a magnetometer calibration.";
1409 case SpnValue::Pigeon2RawMagneticFieldY:
return "The raw magnitude of the magnetic field measured by the Pigeon 2 in the Y direction. This is only valid after performing a magnetometer calibration.";
1410 case SpnValue::Pigeon2RawMagneticFieldZ:
return "The raw magnitude of the magnetic field measured by the Pigeon 2 in the Z direction. This is only valid after performing a magnetometer calibration.";
1411 case SpnValue::CANCoder_MagnetOffset:
return "This offset is added to the reported position, allowing the application to trim the zero position. When set to the default value of zero, position reports zero when magnet north pole aligns with the LED.";
1412 case SpnValue::CANcoder_AbsoluteSensorRange:
return "The range of the absolute sensor, either [0, 1) or [-0.5, 0.5).";
1413 case SpnValue::TalonFX_SetSensorPosition:
return "Sets the mechanism position of the device in mechanism rotations.";
1414 case SpnValue::CANCoder_SetSensorPosition:
return "Sets the current position of the device.";
1415 case SpnValue::Pigeon2_SetYaw:
return "The yaw to set the Pigeon2 to right now.";
1416 case SpnValue::DeviceEnabled:
return "True if the device is enabled.";
1417 case SpnValue::PRO_MotorOutput_MotorVoltage:
return "The applied (output) motor voltage.";
1418 case SpnValue::ForwardLimit:
return "Forward Limit Pin.";
1419 case SpnValue::ReverseLimit:
return "Reverse Limit Pin.";
1420 case SpnValue::PRO_MotorOutput_RotorPolarity:
return "The applied rotor polarity. This typically is determined by the Inverted config, but can be overridden if using Follower features.";
1421 case SpnValue::PRO_MotorOutput_DutyCycle:
return "The applied motor duty cycle.";
1422 case SpnValue::PRO_MotorOutput_TorqueCurrent:
return "Current corresponding to the torque output by the motor. Similar to StatorCurrent. Users will likely prefer this current to calculate the applied torque to the rotor.";
1423 case SpnValue::PRO_SupplyAndTemp_StatorCurrent:
return "Current corresponding to the stator windings. Similar to TorqueCurrent. Users will likely prefer TorqueCurrent over StatorCurrent.";
1424 case SpnValue::PRO_SupplyAndTemp_SupplyCurrent:
return "Measured supply side current";
1425 case SpnValue::PRO_SupplyAndTemp_SupplyVoltage:
return "Measured supply voltage to the TalonFX.";
1426 case SpnValue::PRO_SupplyAndTemp_DeviceTemp:
return "Temperature of device";
1427 case SpnValue::PRO_SupplyAndTemp_ProcessorTemp:
return "Temperature of the processor";
1428 case SpnValue::PRO_RotorPosAndVel_Velocity:
return "Velocity of the motor rotor. This velocity is not affected by any feedback configs.";
1429 case SpnValue::PRO_RotorPosAndVel_Position:
return "Position of the motor rotor. This position is only affected by the RotorOffset config.";
1430 case SpnValue::PRO_PosAndVel_Velocity:
return "Velocity of the device in mechanism rotations per second. This can be the velocity of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.";
1431 case SpnValue::PRO_PosAndVel_Position:
return "Position of the device in mechanism rotations. This can be the position of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.";
1432 case SpnValue::PRO_PosAndVel_Acceleration:
return "Acceleration of the device in mechanism rotations per second². This can be the acceleration of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.";
1433 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_DC:
return "Integrated Accumulator of PID controller when PID'ing under a DutyCycle Request";
1434 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_V:
return "Integrated Accumulator of PID controller when PID'ing under a Voltage Request";
1435 case SpnValue::PRO_PIDStateEnables_IntegratedAccum_A:
return "Integrated Accumulator of PID controller when PID'ing under a TorqueCurrent Request";
1436 case SpnValue::PRO_PIDStateEnables_FeedForward_DC:
return "Feedforward passed to PID controller";
1437 case SpnValue::PRO_PIDStateEnables_FeedForward_V:
return "Feedforward passed to PID controller";
1438 case SpnValue::PRO_PIDStateEnables_FeedForward_A:
return "Feedforward passed to PID controller";
1439 case SpnValue::TalonFX_ControlMode:
return "The active control mode of the motor controller";
1440 case SpnValue::PRO_PIDStateEnables_IsMotionMagicRunning:
return "Check if Motion Magic® is running. This is equivalent to checking that the reported control mode is a Motion Magic® based mode.";
1441 case SpnValue::PRO_PIDStateEnables_DeviceEnable:
return "Indicates if device is actuator enabled.";
1442 case SpnValue::PRO_PIDRefPIDErr_PIDRef_Position:
return "Input position of PID controller when PID'ing to a position";
1443 case SpnValue::PRO_PIDRefPIDErr_PIDRef_Velocity:
return "Input velocity of PID controller when PID'ing to a velocity";
1444 case SpnValue::PRO_PIDRefPIDErr_PIDErr_Position:
return "The difference between target position and current position";
1445 case SpnValue::PRO_PIDRefPIDErr_PIDErr_Velocity:
return "The difference between target velocity and current velocity";
1446 case SpnValue::PRO_PIDOutput_ProportionalOutput_DC:
return "Proportional output of PID controller when PID'ing under a DutyCycle Request";
1447 case SpnValue::PRO_PIDOutput_ProportionalOutput_V:
return "Proportional output of PID controller when PID'ing under a Voltage Request";
1448 case SpnValue::PRO_PIDOutput_ProportionalOutput_A:
return "Proportional output of PID controller when PID'ing under a TorqueCurrent Request";
1449 case SpnValue::PRO_PIDOutput_DerivativeOutput_DC:
return "Derivative Output of PID controller when PID'ing under a DutyCycle Request";
1450 case SpnValue::PRO_PIDOutput_DerivativeOutput_V:
return "Derivative Output of PID controller when PID'ing under a Voltage Request";
1451 case SpnValue::PRO_PIDOutput_DerivativeOutput_A:
return "Derivative Output of PID controller when PID'ing under a TorqueCurrent Request";
1452 case SpnValue::PRO_PIDOutput_Output_DC:
return "Output of PID controller when PID'ing under a DutyCycle Request";
1453 case SpnValue::PRO_PIDOutput_Output_V:
return "Output of PID controller when PID'ing under a Voltage Request";
1454 case SpnValue::PRO_PIDOutput_Output_A:
return "Output of PID controller when PID'ing under a TorqueCurrent Request";
1455 case SpnValue::PRO_PIDOutput_Slot:
return "Closed loop slot in use";
1456 case SpnValue::PRO_PIDRefSlopeECUTime_ReferenceSlope_Position:
return "Change in input (velocity) of PID controller when PID'ing to a position";
1457 case SpnValue::PRO_PIDRefSlopeECUTime_ReferenceSlope_Velocity:
return "Change in input (acceleration) of PID controller when PID'ing to a velocity";
1458 case SpnValue::PRO_MotorOutput_PIDState_Diff_DutyCycle:
return "The calculated motor duty cycle for differential followers.";
1459 case SpnValue::PRO_MotorOutput_PIDState_Diff_TorqueCurrent:
return "The calculated motor torque current for differential followers.";
1460 case SpnValue::TalonFX_DifferentialControlMode:
return "The active control mode of the differential controller";
1461 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_DC:
return "Integrated Accumulator of differential PID controller when PID'ing under a DutyCycle Request";
1462 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_V:
return "Integrated Accumulator of differential PID controller when PID'ing under a Voltage Request";
1463 case SpnValue::PRO_MotorOutput_PIDState_Diff_IntegratedAccum_A:
return "Integrated Accumulator of differential PID controller when PID'ing under a TorqueCurrent Request";
1464 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_DC:
return "Feedforward passed to differential PID controller";
1465 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_V:
return "Feedforward passed to differential PID controller";
1466 case SpnValue::PRO_MotorOutput_PIDState_Diff_FeedForward_A:
return "Feedforward passed to differential PID controller";
1467 case SpnValue::PRO_AvgPosAndVel_Velocity:
return "Average component of the differential velocity of device.";
1468 case SpnValue::PRO_AvgPosAndVel_Position:
return "Average component of the differential position of device.";
1469 case SpnValue::PRO_DiffPosAndVel_Velocity:
return "Difference component of the differential velocity of device.";
1470 case SpnValue::PRO_DiffPosAndVel_Position:
return "Difference component of the differential position of device.";
1471 case SpnValue::PRO_DiffPIDRefPIDErr_PIDRef_Position:
return "Input position of differential PID controller when PID'ing to a differential position";
1472 case SpnValue::PRO_DiffPIDRefPIDErr_PIDRef_Velocity:
return "Input velocity of differential PID controller when PID'ing to a differential velocity";
1473 case SpnValue::PRO_DiffPIDRefPIDErr_PIDErr_Position:
return "The difference between target differential position and current differential position";
1474 case SpnValue::PRO_DiffPIDRefPIDErr_PIDErr_Velocity:
return "The difference between target differential velocity and current differential velocity";
1475 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_DC:
return "Proportional output of differential PID controller when PID'ing under a DutyCycle Request";
1476 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_V:
return "Proportional output of differential PID controller when PID'ing under a Voltage Request";
1477 case SpnValue::PRO_DiffPIDOutput_ProportionalOutput_A:
return "Proportional output of differential PID controller when PID'ing under a TorqueCurrent Request";
1478 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_DC:
return "Derivative Output of differential PID controller when PID'ing under a DutyCycle Request";
1479 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_V:
return "Derivative Output of differential PID controller when PID'ing under a Voltage Request";
1480 case SpnValue::PRO_DiffPIDOutput_DerivativeOutput_A:
return "Derivative Output of differential PID controller when PID'ing under a TorqueCurrent Request";
1481 case SpnValue::PRO_DiffPIDOutput_Output_DC:
return "Output of differential PID controller when PID'ing under a DutyCycle Request";
1482 case SpnValue::PRO_DiffPIDOutput_Output_V:
return "Output of differential PID controller when PID'ing under a Voltage Request";
1483 case SpnValue::PRO_DiffPIDOutput_Output_A:
return "Output of differential PID controller when PID'ing under a TorqueCurrent Request";
1484 case SpnValue::PRO_DiffPIDOutput_Slot:
return "Differential Closed loop slot in use";
1485 case SpnValue::PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Position:
return "Change in input (velocity) of differential PID controller when PID'ing to a differential position";
1486 case SpnValue::PRO_DiffPIDRefSlopeECUTime_ReferenceSlope_Velocity:
return "Change in input (acceleration) of differential PID controller when PID'ing to a differential velocity";
1487 case SpnValue::Slot0_kP:
return "Proportional Gain";
1488 case SpnValue::Slot0_kI:
return "Integral Gain";
1489 case SpnValue::Slot0_kD:
return "Derivative Gain";
1490 case SpnValue::Slot0_kS:
return "Static Feedforward Gain";
1491 case SpnValue::Slot0_kV:
return "Velocity Feedforward Gain";
1492 case SpnValue::Slot0_kA:
return "Acceleration Feedforward Gain";
1493 case SpnValue::Slot0_kG:
return "Gravity Feedforward Gain";
1494 case SpnValue::Slot0_kG_Type:
return "Gravity Feedforward Type";
1495 case SpnValue::Slot1_kP:
return "Proportional Gain";
1496 case SpnValue::Slot1_kI:
return "Integral Gain";
1497 case SpnValue::Slot1_kD:
return "Derivative Gain";
1498 case SpnValue::Slot1_kS:
return "Static Feedforward Gain";
1499 case SpnValue::Slot1_kV:
return "Velocity Feedforward Gain";
1500 case SpnValue::Slot1_kA:
return "Acceleration Feedforward Gain";
1501 case SpnValue::Slot1_kG:
return "Gravity Feedforward Gain";
1502 case SpnValue::Slot1_kG_Type:
return "Gravity Feedforward Type";
1503 case SpnValue::Slot2_kP:
return "Proportional Gain";
1504 case SpnValue::Slot2_kI:
return "Integral Gain";
1505 case SpnValue::Slot2_kD:
return "Derivative Gain";
1506 case SpnValue::Slot2_kS:
return "Static Feedforward Gain";
1507 case SpnValue::Slot2_kV:
return "Velocity Feedforward Gain";
1508 case SpnValue::Slot2_kA:
return "Acceleration Feedforward Gain";
1509 case SpnValue::Slot2_kG:
return "Gravity Feedforward Gain";
1510 case SpnValue::Slot2_kG_Type:
return "Gravity Feedforward Type";
1511 case SpnValue::Config_Inverted:
return "Invert state of the device";
1512 case SpnValue::Config_SupplyVLowpassTau:
return "The time constant (in seconds) of the low-pass filter for the supply voltage.";
1513 case SpnValue::Config_BeepOnBoot:
return "If true, the TalonFX will beep during boot-up. This is useful for general debugging, and defaults to true. If rotor is moving during boot-up, the beep will not occur regardless of this setting.";
1514 case SpnValue::Config_NeutralMode:
return "The state of the motor controller bridge when output is neutral or disabled.";
1515 case SpnValue::Config_DutyCycleNeutralDB:
return "Configures the output deadband percentage.";
1516 case SpnValue::Config_StatorCurrentLimit:
return "The amount of current allowed in the motor (motoring and regen current). This is only applicable for non-torque current control modes. Note this requires the corresponding enable to be true.";
1517 case SpnValue::Config_StatorCurrLimitEn:
return "Enable motor stator current limiting.";
1518 case SpnValue::Config_SupplyCurrentLimit:
return "The amount of supply current allowed. This is only applicable for non-torque current control modes. Note this requires the corresponding enable to be true. Use SupplyCurrentThreshold and SupplyTimeThreshold to allow brief periods of high-current before limiting occurs.";
1519 case SpnValue::Config_SupplyCurrLimitEn:
return "Enable motor supply current limiting.";
1520 case SpnValue::Config_PeakForwardDC:
return "Maximum (forward) output during duty cycle based control modes.";
1521 case SpnValue::Config_PeakReverseDC:
return "Minimum (reverse) output during duty cycle based control modes.";
1522 case SpnValue::Config_PeakForwardV:
return "Maximum (forward) output during voltage based control modes.";
1523 case SpnValue::Config_PeakReverseV:
return "Minimum (reverse) output during voltage based control modes.";
1524 case SpnValue::Config_PeakForTorqCurr:
return "Maximum (forward) output during torque current based control modes.";
1525 case SpnValue::Config_PeakRevTorqCurr:
return "Minimum (reverse) output during torque current based control modes.";
1526 case SpnValue::Config_TorqueNeutralDB:
return "Configures the output deadband during torque current based control modes.";
1527 case SpnValue::Config_FeedbackRotorOffset:
return "This offset is applied to the absolute integrated rotor sensor. This can be used to zero the rotor in applications that are within one rotor rotation.";
1528 case SpnValue::Config_SensorToMechanismRatio:
return "This is the ratio of sensor rotations to the mechanism's output. This is equivalent to the mechanism's gear ratio if the sensor is located on the input of a gearbox. If sensor is on the output of a gearbox, then this is typically set to 1. Note if this is set to zero, device will reset back to one.";
1529 case SpnValue::Config_RotorToSensorRatio:
return "Talon FX is capable of fusing a remote CANcoder with its rotor sensor to produce a high-bandwidth sensor source. This feature requires specifying the ratio between the remote sensor and the motor rotor. Note if this is set to zero, device will reset back to one.";
1530 case SpnValue::Config_FeedbackSensorSource:
return "Choose what sensor source is reported via API and used by closed-loop and limit features. The default is RotorSensor, which uses the internal rotor sensor in the Talon FX. Choose RemoteCANcoder to use another CANcoder on the same CAN bus (this also requires setting FeedbackRemoteSensorID). Talon FX will update its position and velocity whenever CANcoder publishes its information on CAN bus. Choose FusedCANcoder (requires Phoenix Pro) and Talon FX will fuse another CANcoder's information with the internal rotor, which provides the best possible position and velocity for accuracy and bandwidth (note this requires setting FeedbackRemoteSensorID). FusedCANcoder was developed for applications such as swerve-azimuth. Choose SyncCANcoder (requires Phoenix Pro) and Talon FX will synchronize its internal rotor position against another CANcoder, then continue to use the rotor sensor for closed loop control (note this requires setting FeedbackRemoteSensorID). The TalonFX will report if its internal position differs significantly from the reported CANcoder position. SyncCANcoder was developed for mechanisms where there is a risk of the CANcoder failing in such a way that it reports a position that does not match the mechanism, such as the sensor mounting assembly breaking off. Choose RemotePigeon2_Yaw, RemotePigeon2_Pitch, and RemotePigeon2_Roll to use another Pigeon2 on the same CAN bus (this also requires setting FeedbackRemoteSensorID). Talon FX will update its position to match the selected value whenever Pigeon2 publishes its information on CAN bus. Note that the Talon FX position will be in rotations and not degrees.";
1531 case SpnValue::Config_FeedbackRemoteSensorID:
return "Device ID of which remote device to use. This is not used if the Sensor Source is the internal rotor sensor.";
1532 case SpnValue::Config_DutyCycleOpenLoopRampPeriod:
return "If non-zero, this determines how much time to ramp from 0% output to 100% during open-loop modes.";
1533 case SpnValue::Config_VoltageOpenLoopRampPeriod:
return "If non-zero, this determines how much time to ramp from 0V output to 12V during open-loop modes.";
1534 case SpnValue::Config_TorqueOpenLoopRampPeriod:
return "If non-zero, this determines how much time to ramp from 0A output to 300A during open-loop modes.";
1535 case SpnValue::Config_DutyCycleClosedLoopRampPeriod:
return "If non-zero, this determines how much time to ramp from 0% output to 100% during closed-loop modes.";
1536 case SpnValue::Config_VoltageClosedLoopRampPeriod:
return "If non-zero, this determines how much time to ramp from 0V output to 12V during closed-loop modes.";
1537 case SpnValue::Config_TorqueClosedLoopRampPeriod:
return "If non-zero, this determines how much time to ramp from 0A output to 300A during closed-loop modes.";
1538 case SpnValue::Config_ForwardLimitType:
return "Determines if limit is normally-open (default) or normally-closed.";
1539 case SpnValue::Config_ForwardLimitAutosetPosEnable:
return "If enabled, the position is auto-set to a specific value, specified by ForwardLimitAutosetPositionValue";
1540 case SpnValue::Config_ForwardLimitAutosetPosValue:
return "The value to auto-set the position to. This has no effect if ForwardLimitAutosetPositionEnable is false.";
1541 case SpnValue::Config_ForwardLimitEnable:
return "If enabled, motor output is set to neutral when forward limit switch is asseted and positive output is requested.";
1542 case SpnValue::Config_ForwardLimitSource:
return "Determines where to poll the forward limit switch. This defaults to the limit switch pin on the limit switch connector.";
1543 case SpnValue::Config_ForwardLimitRemoteSensorID:
return "Device ID of the device if using remote limit switch features.";
1544 case SpnValue::Config_ReverseLimitType:
return "Determines if limit is normally-open (default) or normally-closed.";
1545 case SpnValue::Config_ReverseLimitAutosetPosEnable:
return "If enabled, the position is auto-set to a specific value, specified by ReverseLimitAutosetPositionValue";
1546 case SpnValue::Config_ReverseLimitAutosetPosValue:
return "The value to auto-set the position to. This has no effect if ReverseLimitAutosetPositionEnable is false.";
1547 case SpnValue::Config_ReverseLimitEnable:
return "If enabled, motor output is set to neutral when reverse limit switch is asseted and positive output is requested.";
1548 case SpnValue::Config_ReverseLimitSource:
return "Determines where to poll the reverse limit switch. This defaults to the limit switch pin on the limit switch connector.";
1549 case SpnValue::Config_ReverseLimitRemoteSensorID:
return "Device ID of the device if using remote limit switch features.";
1550 case SpnValue::Config_ForwardSoftLimitEnable:
return "If enabled, the motor output is set to neutral if position exceeds ForwardSoftLimitThreshold and forward output is requested.";
1551 case SpnValue::Config_ReverseSoftLimitEnable:
return "If enabled, the motor output is set to neutral if position exceeds ReverseSoftLimitThreshold and reverse output is requested.";
1552 case SpnValue::Config_ForwardSoftLimitThreshold:
return "Position threshold for forward soft limit features. ForwardSoftLimitEnable must be enabled for this to take effect.";
1553 case SpnValue::Config_ReverseSoftLimitThreshold:
return "Position threshold for reverse soft limit features. ReverseSoftLimitEnable must be enabled for this to take effect.";
1554 case SpnValue::Config_MotionMagicCruiseVelocity:
return "This is the maximum velocity Motion Magic® based control modes are allowed to use.";
1555 case SpnValue::Config_MotionMagicAcceleration:
return "This is the target acceleration Motion Magic® based control modes are allowed to use.";
1556 case SpnValue::Config_MotionMagicJerk:
return "This is the target jerk (acceleration derivative) Motion Magic® based control modes are allowed to use. This allows Motion Magic® support of S-Curves. If this is set to zero, then Motion Magic® will not apply a Jerk limit.";
1557 case SpnValue::Config_PeakDiffDC:
return "Maximum differential output during duty cycle based differential control modes.";
1558 case SpnValue::Config_PeakDiffV:
return "Maximum differential output during voltage based differential control modes.";
1559 case SpnValue::Config_PeakDiffTorqCurr:
return "Maximum differential output during torque current based differential control modes.";
1560 case SpnValue::CANcoder_Velocity:
return "Velocity of the device.";
1561 case SpnValue::CANcoder_Position:
return "Position of the device. This is initialized to the absolute position on boot.";
1562 case SpnValue::CANcoder_AbsPosition:
return "Absolute Position of the device. The possible range is documented below; however, the exact expected range is determined by the AbsoluteSensorRange. This position is only affected by the MagnetSensor configs.";
1563 case SpnValue::CANCoder_RawVel:
return "The unfiltered velocity reported by CANcoder.";
1564 case SpnValue::CANCoder_RawPos:
return "The relative position reported by the CANcoder since boot.";
1565 case SpnValue::CANCoder_SupplyVoltage:
return "Measured supply voltage to the CANcoder.";
1566 case SpnValue::CANcoder_MagHealth:
return "Magnet health as measured by CANcoder.";
1567 case SpnValue::SPN_ClearStickyFaults:
return "Clear the sticky faults in the device.";
1568 case SpnValue::PRO_MotorOutput_BridgeType_Public:
return "The applied output of the bridge.";
1569 case SpnValue::Config_ContinuousWrap:
return "Wrap position error within [-0.5,+0.5) mechanism rotations. Typically used for continuous position closed-loops like swerve azimuth.";
1570 case SpnValue::Config_SupplyCurrThres:
return "Delay supply current limiting until current exceeds this threshold for longer than SupplyTimeThreshold. This allows current draws above SupplyCurrentLimit for a fixed period of time. This has no effect if SupplyCurrentLimit is greater than this value.";
1571 case SpnValue::Config_SupplyTimeThres:
return "Allows unlimited current for a period of time before current limiting occurs. Current threshold is the maximum of SupplyCurrentThreshold and SupplyCurrentLimit.";
1572 case SpnValue::Config_DifferentialSensorSource:
return "Choose what sensor source is used for differential control of a mechanism. The default is Disabled. All other options require setting the DifferentialTalonFXSensorID, as the average of this Talon FX's sensor and the remote TalonFX's sensor is used for the differential controller's primary targets. Choose RemoteTalonFX_Diff to use another TalonFX on the same CAN bus. Talon FX will update its differential position and velocity whenever the remote TalonFX publishes its information on CAN bus. The differential controller will use the difference between this TalonFX's sensor and the remote Talon FX's sensor for the differential component of the output. Choose RemotePigeon2_Yaw, RemotePigeon2_Pitch, and RemotePigeon2_Roll to use another Pigeon2 on the same CAN bus (this also requires setting DifferentialRemoteSensorID). Talon FX will update its differential position to match the selected value whenever Pigeon2 publishes its information on CAN bus. Note that the Talon FX differential position will be in rotations and not degrees. Choose RemoteCANcoder to use another CANcoder on the same CAN bus (this also requires setting DifferentialRemoteSensorID). Talon FX will update its differential position and velocity to match the CANcoder whenever CANcoder publishes its information on CAN bus.";
1573 case SpnValue::Config_DifferentialTalonFXSensorID:
return "Device ID of which remote Talon FX to use. This is used when the Differential Sensor Source is not disabled.";
1574 case SpnValue::Config_DifferentialRemoteSensorID:
return "Device ID of which remote sensor to use on the differential axis. This is used when the Differential Sensor Source is not RemoteTalonFX_Diff.";
1575 case SpnValue::Config_BeepOnConfig:
return "If true, the TalonFX will beep during configuration API calls if device is disabled. This is useful for general debugging, and defaults to true. Note that if the rotor is moving, the beep will not occur regardless of this setting.";
1576 case SpnValue::Config_AllowMusicDurDisable:
return "If true, the TalonFX will allow Orchestra and MusicTone requests during disabled state. This can be used to address corner cases when music features are needed when disabled. This setting defaults to false. Note that if the rotor is moving, music features are always disabled regardless of this setting.";
1577 case SpnValue::Compliancy_Version:
return "Compliancy number.";
1578 case SpnValue::Version_IsProLicensed:
return "Whether the device is Phoenix Pro licensed.";
1579 case SpnValue::Fault_Hardware:
return "Hardware fault occurred";
1580 case SpnValue::StickyFault_Hardware:
return "Hardware fault occurred";
1581 case SpnValue::ClearStickyFault_Hardware:
return "Clear sticky fault: Hardware fault occurred";
1582 case SpnValue::Fault_ProcTemp:
return "Processor temperature exceeded limit";
1583 case SpnValue::StickyFault_ProcTemp:
return "Processor temperature exceeded limit";
1584 case SpnValue::ClearStickyFault_ProcTemp:
return "Clear sticky fault: Processor temperature exceeded limit";
1585 case SpnValue::Fault_DeviceTemp:
return "Device temperature exceeded limit";
1586 case SpnValue::StickyFault_DeviceTemp:
return "Device temperature exceeded limit";
1587 case SpnValue::ClearStickyFault_DeviceTemp:
return "Clear sticky fault: Device temperature exceeded limit";
1588 case SpnValue::Fault_Undervoltage:
return "Device supply voltage dropped to near brownout levels";
1589 case SpnValue::StickyFault_Undervoltage:
return "Device supply voltage dropped to near brownout levels";
1590 case SpnValue::ClearStickyFault_Undervoltage:
return "Clear sticky fault: Device supply voltage dropped to near brownout levels";
1591 case SpnValue::Fault_BootDuringEnable:
return "Device boot while detecting the enable signal";
1592 case SpnValue::StickyFault_BootDuringEnable:
return "Device boot while detecting the enable signal";
1593 case SpnValue::ClearStickyFault_BootDuringEnable:
return "Clear sticky fault: Device boot while detecting the enable signal";
1594 case SpnValue::Fault_UnlicensedFeatureInUse:
return "An unlicensed feature is in use, device may not behave as expected.";
1595 case SpnValue::StickyFault_UnlicensedFeatureInUse:
return "An unlicensed feature is in use, device may not behave as expected.";
1596 case SpnValue::Fault_PIGEON2_BootupAccel:
return "Bootup checks failed: Accelerometer";
1597 case SpnValue::StickyFault_PIGEON2_BootupAccel:
return "Bootup checks failed: Accelerometer";
1598 case SpnValue::ClearStickyFault_PIGEON2_BootupAccel:
return "Clear sticky fault: Bootup checks failed: Accelerometer";
1599 case SpnValue::Fault_PIGEON2_BootupGyros:
return "Bootup checks failed: Gyroscope";
1600 case SpnValue::StickyFault_PIGEON2_BootupGyros:
return "Bootup checks failed: Gyroscope";
1601 case SpnValue::ClearStickyFault_PIGEON2_BootupGyros:
return "Clear sticky fault: Bootup checks failed: Gyroscope";
1602 case SpnValue::Fault_PIGEON2_BootupMagne:
return "Bootup checks failed: Magnetometer";
1603 case SpnValue::StickyFault_PIGEON2_BootupMagne:
return "Bootup checks failed: Magnetometer";
1604 case SpnValue::ClearStickyFault_PIGEON2_BootupMagne:
return "Clear sticky fault: Bootup checks failed: Magnetometer";
1605 case SpnValue::Fault_PIGEON2_BootIntoMotion:
return "Motion Detected during bootup.";
1606 case SpnValue::StickyFault_PIGEON2_BootIntoMotion:
return "Motion Detected during bootup.";
1607 case SpnValue::ClearStickyFault_PIGEON2_BootIntoMotion:
return "Clear sticky fault: Motion Detected during bootup.";
1608 case SpnValue::Fault_PIGEON2_DataAcquiredLate:
return "Motion stack data acquisition was slower than expected";
1609 case SpnValue::StickyFault_PIGEON2_DataAcquiredLate:
return "Motion stack data acquisition was slower than expected";
1610 case SpnValue::ClearStickyFault_PIGEON2_DataAcquiredLate:
return "Clear sticky fault: Motion stack data acquisition was slower than expected";
1611 case SpnValue::Fault_PIGEON2_LoopTimeSlow:
return "Motion stack loop time was slower than expected.";
1612 case SpnValue::StickyFault_PIGEON2_LoopTimeSlow:
return "Motion stack loop time was slower than expected.";
1613 case SpnValue::ClearStickyFault_PIGEON2_LoopTimeSlow:
return "Clear sticky fault: Motion stack loop time was slower than expected.";
1614 case SpnValue::Fault_PIGEON2_SaturatedMagne:
return "Magnetometer values are saturated";
1615 case SpnValue::StickyFault_PIGEON2_SaturatedMagne:
return "Magnetometer values are saturated";
1616 case SpnValue::ClearStickyFault_PIGEON2_SaturatedMagne:
return "Clear sticky fault: Magnetometer values are saturated";
1617 case SpnValue::Fault_PIGEON2_SaturatedAccel:
return "Accelerometer values are saturated";
1618 case SpnValue::StickyFault_PIGEON2_SaturatedAccel:
return "Accelerometer values are saturated";
1619 case SpnValue::ClearStickyFault_PIGEON2_SaturatedAccel:
return "Clear sticky fault: Accelerometer values are saturated";
1620 case SpnValue::Fault_PIGEON2_SaturatedGyros:
return "Gyroscope values are saturated";
1621 case SpnValue::StickyFault_PIGEON2_SaturatedGyros:
return "Gyroscope values are saturated";
1622 case SpnValue::ClearStickyFault_PIGEON2_SaturatedGyros:
return "Clear sticky fault: Gyroscope values are saturated";
1623 case SpnValue::Fault_CANCODER_BadMagnet:
return "The magnet distance is not correct or magnet is missing";
1624 case SpnValue::StickyFault_CANCODER_BadMagnet:
return "The magnet distance is not correct or magnet is missing";
1625 case SpnValue::ClearStickyFault_CANCODER_BadMagnet:
return "Clear sticky fault: The magnet distance is not correct or magnet is missing";
1626 case SpnValue::Fault_TALONFX_BridgeBrownout:
return "Bridge was disabled most likely due to supply voltage dropping too low.";
1627 case SpnValue::StickyFault_TALONFX_BridgeBrownout:
return "Bridge was disabled most likely due to supply voltage dropping too low.";
1628 case SpnValue::ClearStickyFault_TALONFX_BridgeBrownout:
return "Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.";
1629 case SpnValue::Fault_TALONFX_RemoteSensorReset:
return "The remote sensor has reset.";
1630 case SpnValue::StickyFault_TALONFX_RemoteSensorReset:
return "The remote sensor has reset.";
1631 case SpnValue::ClearStickyFault_TALONFX_RemoteSensorReset:
return "Clear sticky fault: The remote sensor has reset.";
1632 case SpnValue::Fault_TALONFX_MissingDifferentialFX:
return "The remote Talon FX used for differential control is not present on CAN Bus.";
1633 case SpnValue::StickyFault_TALONFX_MissingDifferentialFX:
return "The remote Talon FX used for differential control is not present on CAN Bus.";
1634 case SpnValue::ClearStickyFault_TALONFX_MissingDifferentialFX:
return "Clear sticky fault: The remote Talon FX used for differential control is not present on CAN Bus.";
1635 case SpnValue::Fault_TALONFX_RemoteSensorPosOverflow:
return "The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.";
1636 case SpnValue::StickyFault_TALONFX_RemoteSensorPosOverflow:
return "The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.";
1637 case SpnValue::ClearStickyFault_TALONFX_RemoteSensorPosOverflow:
return "Clear sticky fault: The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.";
1638 case SpnValue::Fault_TALONFX_OverSupplyV:
return "Supply Voltage has exceeded the maximum voltage rating of device.";
1639 case SpnValue::StickyFault_TALONFX_OverSupplyV:
return "Supply Voltage has exceeded the maximum voltage rating of device.";
1640 case SpnValue::ClearStickyFault_TALONFX_OverSupplyV:
return "Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.";
1641 case SpnValue::Fault_TALONFX_UnstableSupplyV:
return "Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.";
1642 case SpnValue::StickyFault_TALONFX_UnstableSupplyV:
return "Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.";
1643 case SpnValue::ClearStickyFault_TALONFX_UnstableSupplyV:
return "Clear sticky fault: Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.";
1644 case SpnValue::Fault_TALONFX_ReverseHardLimit:
return "Reverse limit switch has been asserted. Output is set to neutral.";
1645 case SpnValue::StickyFault_TALONFX_ReverseHardLimit:
return "Reverse limit switch has been asserted. Output is set to neutral.";
1646 case SpnValue::ClearStickyFault_TALONFX_ReverseHardLimit:
return "Clear sticky fault: Reverse limit switch has been asserted. Output is set to neutral.";
1647 case SpnValue::Fault_TALONFX_ForwardHardLimit:
return "Forward limit switch has been asserted. Output is set to neutral.";
1648 case SpnValue::StickyFault_TALONFX_ForwardHardLimit:
return "Forward limit switch has been asserted. Output is set to neutral.";
1649 case SpnValue::ClearStickyFault_TALONFX_ForwardHardLimit:
return "Clear sticky fault: Forward limit switch has been asserted. Output is set to neutral.";
1650 case SpnValue::Fault_TALONFX_ReverseSoftLimit:
return "Reverse soft limit has been asserted. Output is set to neutral.";
1651 case SpnValue::StickyFault_TALONFX_ReverseSoftLimit:
return "Reverse soft limit has been asserted. Output is set to neutral.";
1652 case SpnValue::ClearStickyFault_TALONFX_ReverseSoftLimit:
return "Clear sticky fault: Reverse soft limit has been asserted. Output is set to neutral.";
1653 case SpnValue::Fault_TALONFX_ForwardSoftLimit:
return "Forward soft limit has been asserted. Output is set to neutral.";
1654 case SpnValue::StickyFault_TALONFX_ForwardSoftLimit:
return "Forward soft limit has been asserted. Output is set to neutral.";
1655 case SpnValue::ClearStickyFault_TALONFX_ForwardSoftLimit:
return "Clear sticky fault: Forward soft limit has been asserted. Output is set to neutral.";
1656 case SpnValue::Fault_TALONFX_MissingRemoteSensor:
return "The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the \"red\" range.";
1657 case SpnValue::StickyFault_TALONFX_MissingRemoteSensor:
return "The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the \"red\" range.";
1658 case SpnValue::ClearStickyFault_TALONFX_MissingRemoteSensor:
return "Clear sticky fault: The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the \"red\" range.";
1659 case SpnValue::Fault_TALONFX_FusedSensorOutOfSync:
return "The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.";
1660 case SpnValue::StickyFault_TALONFX_FusedSensorOutOfSync:
return "The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.";
1661 case SpnValue::ClearStickyFault_TALONFX_FusedSensorOutOfSync:
return "Clear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.";
1662 case SpnValue::Fault_TALONFX_StatorCurrLimit:
return "Stator current limit occured.";
1663 case SpnValue::StickyFault_TALONFX_StatorCurrLimit:
return "Stator current limit occured.";
1664 case SpnValue::ClearStickyFault_TALONFX_StatorCurrLimit:
return "Clear sticky fault: Stator current limit occured.";
1665 case SpnValue::Fault_TALONFX_SupplyCurrLimit:
return "Supply current limit occured.";
1666 case SpnValue::StickyFault_TALONFX_SupplyCurrLimit:
return "Supply current limit occured.";
1667 case SpnValue::ClearStickyFault_TALONFX_SupplyCurrLimit:
return "Clear sticky fault: Supply current limit occured.";
1668 case SpnValue::Fault_TALONFX_UsingFusedCCWhileUnlicensed:
return "Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.";
1669 case SpnValue::StickyFault_TALONFX_UsingFusedCCWhileUnlicensed:
return "Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.";
1671 return "Invalid Value";
1675 friend std::ostream &operator<<(std::ostream &os,
const SpnValue &data)
1677 os << data.ToString();
1680 bool operator==(
const SpnValue &data)
const
1682 return this->value == data.value;
1684 bool operator==(
int data)
const
1686 return this->value == data;
1688 bool operator<(
const SpnValue &data)
const
1690 return this->value < data.value;
1692 bool operator<(
int data)
const
1694 return this->value < data;
Definition: ManualEvent.hpp:12