Loading [MathJax]/extensions/tex2jax.js
CTRE Phoenix 6 C++ 23.2.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StatusCodes.h
Go to the documentation of this file.
1/*
2 * Copyright (C) Cross The Road Electronics.  All rights reserved.
3 * License information can be found in CTRE_LICENSE.txt
4 * For support and suggestions contact support@ctr-electronics.com or file
5 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases
6 */
7#pragma once
8
9#ifdef __cplusplus
10
11namespace ctre
12{
13 namespace phoenix
14 {
15
16 class StatusCode
17 {
18 int value;
19
20 public:
21 /**
22 * \brief No Error
23 */
24 static constexpr int OK = 0;
25 /**
26 * \brief InvalidDeviceSpec
27 */
28 static constexpr int InvalidDeviceSpec = -101;
29 /**
30 * \brief EcuIsNotPresent
31 */
32 static constexpr int EcuIsNotPresent = -102;
33 /**
34 * \brief CouldNotEnterBl
35 */
36 static constexpr int CouldNotEnterBl = -103;
37 /**
38 * \brief CouldNotConfirmBl
39 */
40 static constexpr int CouldNotConfirmBl = -104;
41 /**
42 * \brief CouldNotErase
43 */
44 static constexpr int CouldNotErase = -105;
45 /**
46 * \brief CouldNotSendFlash
47 */
48 static constexpr int CouldNotSendFlash = -106;
49 /**
50 * \brief CouldNotValidate
51 */
52 static constexpr int CouldNotValidate = -107;
53 /**
54 * \brief CouldNotRunApp
55 */
56 static constexpr int CouldNotRunApp = -108;
57 /**
58 * \brief CouldNotReqSetId
59 */
60 static constexpr int CouldNotReqSetId = -109;
61 /**
62 * \brief CouldNotConfirmId
63 */
64 static constexpr int CouldNotConfirmId = -110;
65 /**
66 * \brief FlashWasGood
67 */
68 static constexpr int FlashWasGood = -111;
69 /**
70 * \brief AppTooOld
71 */
72 static constexpr int AppTooOld = -112;
73 /**
74 * \brief CouldNotReqSetDesc
75 */
76 static constexpr int CouldNotReqSetDesc = -113;
77 /**
78 * \brief CompileSzIsWrong
79 */
80 static constexpr int CompileSzIsWrong = -114;
81 /**
82 * \brief GadgeteerDeviceNoSetId
83 */
84 static constexpr int GadgeteerDeviceNoSetId = -115;
85 /**
86 * \brief InvalidTask
87 */
88 static constexpr int InvalidTask = -116;
89 /**
90 * \brief Not Implemented, check latest installer.
91 */
92 static constexpr int NotImplemented = -117;
93 /**
94 * \brief NoDevicesOnBus
95 */
96 static constexpr int NoDevicesOnBus = -118;
97 /**
98 * \brief MoreThanOneFile
99 */
100 static constexpr int MoreThanOneFile = -119;
101 /**
102 * \brief NodeIsInvalid
103 */
104 static constexpr int NodeIsInvalid = -120;
105 /**
106 * \brief InvalidDeviceDescriptor
107 */
108 static constexpr int InvalidDeviceDescriptor = -121;
109 /**
110 * \brief CouldNotSendCanFrame
111 */
112 static constexpr int CouldNotSendCanFrame = -123;
113 /**
114 * \brief NormalModeMsgNotPresent
115 */
116 static constexpr int NormalModeMsgNotPresent = -124;
117 /**
118 * \brief This feature is not supported.
119 */
120 static constexpr int FeatureNotSupported = -125;
121 /**
122 * \brief NotUpdating
123 */
124 static constexpr int NotUpdating = -126;
125 /**
126 * \brief CorruptedPOST
127 */
128 static constexpr int CorruptedPOST = -127;
129 /**
130 * \brief NoConfigs
131 */
132 static constexpr int NoConfigs = -128;
133 /**
134 * \brief ConfigFailed
135 */
136 static constexpr int ConfigFailed = -129;
137 /**
138 * \brief CouldNotReqFactoryDefault
139 */
140 static constexpr int CouldNotReqFactoryDefault = -130;
141 /**
142 * \brief CustomNameNotSupported
143 */
144 static constexpr int CustomNameNotSupported = -131;
145 /**
146 * \brief ConfigReadWriteMismatch
147 */
148 static constexpr int ConfigReadWriteMismatch = -132;
149 /**
150 * \brief CouldNotReqSetConfigs
151 */
152 static constexpr int CouldNotReqSetConfigs = -133;
153 /**
154 * \brief InsufficientSz
155 */
156 static constexpr int InsufficientSz = -134;
157 /**
158 * \brief InvalidModel
159 */
160 static constexpr int InvalidModel = -135;
161 /**
162 * \brief CouldNotReqDevInfo
163 */
164 static constexpr int CouldNotReqDevInfo = -140;
165 /**
166 * \brief NoControls
167 */
168 static constexpr int NoControls = -141;
169 /**
170 * \brief DeviceIsNull
171 */
172 static constexpr int DeviceIsNull = -142;
173 /**
174 * \brief DeviceDidNotRespondToDiagReq
175 */
176 static constexpr int DeviceDidNotRespondToDiagReq = -143;
177 /**
178 * \brief OnlySupportedInTunerX
179 */
180 static constexpr int OnlySupportedInTunerX = -144;
181 /**
182 * \brief CanivCliError
183 */
184 static constexpr int CanivCliError = -145;
185 /**
186 * \brief InvalidCrfBadHeader
187 */
188 static constexpr int InvalidCrfBadHeader = -200;
189 /**
190 * \brief InvalidCrfFileSzInvald
191 */
192 static constexpr int InvalidCrfFileSzInvald = -201;
193 /**
194 * \brief InvalidCrfWrongProduct
195 */
196 static constexpr int InvalidCrfWrongProduct = -202;
197 /**
198 * \brief InvalidCrfNoSects
199 */
200 static constexpr int InvalidCrfNoSects = -203;
201 /**
202 * \brief InvalidCrfBadSectHeader
203 */
204 static constexpr int InvalidCrfBadSectHeader = -204;
205 /**
206 * \brief InvalidCrfBadSectSize
207 */
208 static constexpr int InvalidCrfBadSectSize = -205;
209 /**
210 * \brief NoCrfFile
211 */
212 static constexpr int NoCrfFile = -206;
213 /**
214 * \brief CouldNotFindDynamicId
215 */
216 static constexpr int CouldNotFindDynamicId = -300;
217 /**
218 * \brief DidNotGetDhcp
219 */
220 static constexpr int DidNotGetDhcp = -301;
221 /**
222 * \brief DidNotGetFullDhcp
223 */
224 static constexpr int DidNotGetFullDhcp = -302;
225 /**
226 * \brief InvalidLicenseResp
227 */
228 static constexpr int InvalidLicenseResp = -350;
229 /**
230 * \brief InvalidCanivCache
231 */
232 static constexpr int InvalidCanivCache = -351;
233 /**
234 * \brief CannotOpenSerialPort
235 */
236 static constexpr int CannotOpenSerialPort = -500;
237 /**
238 * \brief CannotWriteSerialPort
239 */
240 static constexpr int CannotWriteSerialPort = -501;
241 /**
242 * \brief CannotReadSerialPort
243 */
244 static constexpr int CannotReadSerialPort = -502;
245 /**
246 * \brief CannotSerialToDevice
247 */
248 static constexpr int CannotSerialToDevice = -503;
249 /**
250 * \brief NoSerialControlFrameResp
251 */
252 static constexpr int NoSerialControlFrameResp = -504;
253 /**
254 * \brief CannotOpenUdpPort
255 */
256 static constexpr int CannotOpenUdpPort = -600;
257 /**
258 * \brief CannotWriteUdpPort
259 */
260 static constexpr int CannotWriteUdpPort = -601;
261 /**
262 * \brief CannotReadUdpPort
263 */
264 static constexpr int CannotReadUdpPort = -602;
265 /**
266 * \brief CannotUdpToDevice
267 */
268 static constexpr int CannotUdpToDevice = -603;
269 /**
270 * \brief NoUdpControlFrameResp
271 */
272 static constexpr int NoUdpControlFrameResp = -604;
273 /**
274 * \brief TimeoutIso15Response
275 */
276 static constexpr int TimeoutIso15Response = -605;
277 /**
278 * \brief InvalidJson
279 */
280 static constexpr int InvalidJson = -700;
281 /**
282 * \brief AppIsTerminating
283 */
284 static constexpr int AppIsTerminating = -800;
285 /**
286 * \brief CAN Message is stale.
287 */
288 static constexpr int CanMessageStale = 1000;
289 /**
290 * \brief Buffer is full, cannot insert more data.
291 */
292 static constexpr int BufferFull = 1006;
293 /**
294 * \brief PulseWidthSensorNotPresent
295 */
296 static constexpr int PulseWidthSensorNotPresent = 1010;
297 /**
298 * \brief General Warning Occurred.
299 */
300 static constexpr int GeneralWarning = 1100;
301 /**
302 * \brief Firm Vers could not be retrieved. Use Phoenix Tuner to check ID and
303 * firmware(CRF) version.
304 */
305 static constexpr int FirmVersionCouldNotBeRetrieved = 1103;
306 /**
307 * \brief This feature will be supported in a future update.
308 */
309 static constexpr int FeaturesNotAvailableYet = 1104;
310 /**
311 * \brief The control mode is not valid for this function.
312 */
313 static constexpr int ControlModeNotValid = 1105;
314 /**
315 * \brief This control mode is not supported yet. A future release will
316 * supported this soon.
317 */
318 static constexpr int ControlModeNotSupportedYet = 1106;
319 /**
320 * \brief Motor Controller must have >= 3.2 firmware for motion profile control
321 * mode.
322 */
323 static constexpr int MotProfFirmThreshold = 1109;
324 /**
325 * \brief Motor Controller must have >= 3.4 firmware for advanced PID0/PID1
326 * features.
327 */
328 static constexpr int MotProfFirmThreshold2 = 1110;
329 /**
330 * \brief SimDeviceNotFound
331 */
332 static constexpr int SimDeviceNotFound = 1200;
333 /**
334 * \brief SimPhysicsTypeNotSupported
335 */
336 static constexpr int SimPhysicsTypeNotSupported = 1201;
337 /**
338 * \brief SimDeviceAlreadyExists
339 */
340 static constexpr int SimDeviceAlreadyExists = 1202;
341 /**
342 * \brief Could not transmit CAN Frame.
343 */
344 static constexpr int TxFailed = -1001;
345 /**
346 * \brief Incorrect argument passed into function/VI.
347 */
348 static constexpr int InvalidParamValue = -1002;
349 /**
350 * \brief CAN frame not received/too-stale.
351 */
352 static constexpr int RxTimeout = -1003;
353 /**
354 * \brief CAN Transmit timed out.
355 */
356 static constexpr int TxTimeout = -1004;
357 /**
358 * \brief ArbID is incorrect.
359 */
360 static constexpr int UnexpectedArbId = -1005;
361 /**
362 * \brief CanOverflowed
363 */
364 static constexpr int CanOverflowed = -1006;
365 /**
366 * \brief Sensor Not Present.
367 */
368 static constexpr int SensorNotPresent = -1007;
369 /**
370 * \brief Firmware Too Old. Use Phoenix Tuner to field upgrade your CTRE CAN
371 * device firmware(CRF). Then restart your robot application to clear
372 * this error.
373 */
374 static constexpr int FirmwareTooOld = -1008;
375 /**
376 * \brief Control Frame Period could not be changed. Most likely it is not
377 * being transmitted.
378 */
379 static constexpr int CouldNotChangePeriod = -1009;
380 /**
381 * \brief BufferFailure
382 */
383 static constexpr int BufferFailure = -1010;
384 /**
385 * \brief Firmware is legacy non-FRC version. Use Phoenix Tuner to field
386 * upgrade your CTRE CAN device firmware(CRF). Firmware greater than
387 * 20.0 required.
388 */
389 static constexpr int FirmwareNonFRC = -1011;
390 /**
391 * \brief General Error Occurred.
392 */
393 static constexpr int GeneralError = -1100;
394 /**
395 * \brief No new response to update signal.
396 */
397 static constexpr int SigNotUpdated = -1200;
398 /**
399 * \brief NotAllPIDValuesUpdated
400 */
401 static constexpr int NotAllPIDValuesUpdated = -1201;
402 /**
403 * \brief GEN_PORT_ERROR
404 */
405 static constexpr int GEN_PORT_ERROR = -1300;
406 /**
407 * \brief PORT_MODULE_TYPE_MISMATCH
408 */
409 static constexpr int PORT_MODULE_TYPE_MISMATCH = -1301;
410 /**
411 * \brief GEN_MODULE_ERROR
412 */
413 static constexpr int GEN_MODULE_ERROR = -1400;
414 /**
415 * \brief MODULE_NOT_INIT_SET_ERROR
416 */
417 static constexpr int MODULE_NOT_INIT_SET_ERROR = -1401;
418 /**
419 * \brief MODULE_NOT_INIT_GET_ERROR
420 */
421 static constexpr int MODULE_NOT_INIT_GET_ERROR = -1402;
422 /**
423 * \brief Wheel Radius is too small, cannot get distance traveled.
424 */
425 static constexpr int WheelRadiusTooSmall = -1500;
426 /**
427 * \brief Ticks per revolution is 0, cannot get heading.
428 */
429 static constexpr int TicksPerRevZero = -1501;
430 /**
431 * \brief Distance between wheels is too small, cannot get heading.
432 */
433 static constexpr int DistanceBetweenWheelsTooSmall = -1502;
434 /**
435 * \brief GainsAreNotSet
436 */
437 static constexpr int GainsAreNotSet = -1503;
438 /**
439 * \brief Use RemoteLimitSwitchSource instead of LimitSwitchSource.
440 */
441 static constexpr int WrongRemoteLimitSwitchSource = -1504;
442 /**
443 * \brief Motor Controller Voltage Compensation should not be used with
444 * setVoltage(). This causes compensation to happen twice. Disable
445 * Voltage Compensation by calling enableVoltageCompensation(false) in
446 * order to use setVoltage().
447 */
448 static constexpr int DoubleVoltageCompensatingWPI = -1505;
449 /**
450 * \brief CANdleAnimSlotOutOfBounds
451 */
452 static constexpr int CANdleAnimSlotOutOfBounds = -1506;
453 /**
454 * \brief IncompatibleMode
455 */
456 static constexpr int IncompatibleMode = -1600;
457 /**
458 * \brief Handle passed into function is incorrect.
459 */
460 static constexpr int InvalidHandle = -1601;
461 /**
462 * \brief Features requires newer firmware version.
463 */
464 static constexpr int FeatureRequiresHigherFirm = -1700;
465 /**
466 * \brief Config factory default features require firmware >=3.10.
467 */
468 static constexpr int ConfigFactoryDefaultRequiresHigherFirm = -1702;
469 /**
470 * \brief Config Motion S Curve Strength features require firmware >=4.16.
471 */
472 static constexpr int ConfigMotionSCurveRequiresHigherFirm = -1703;
473 /**
474 * \brief Talon FX(Falcon 500) Firmware Too Old. Use Phoenix Tuner to field
475 * upgrade your CTRE CAN device firmware(CRF) to >=20.3. Then restart
476 * your robot application to clear this error.
477 */
478 static constexpr int TalonFXFirmwarePreVBatDetect = -1704;
479 /**
480 * \brief CANdleAnimationsRequireHigherFirm
481 */
482 static constexpr int CANdleAnimationsRequireHigherFirm = -1705;
483 /**
484 * \brief LibraryCouldNotBeLoaded
485 */
486 static constexpr int LibraryCouldNotBeLoaded = -1800;
487 /**
488 * \brief MissingRoutineInLibrary
489 */
490 static constexpr int MissingRoutineInLibrary = -1801;
491 /**
492 * \brief ResourceNotAvailable
493 */
494 static constexpr int ResourceNotAvailable = -1802;
495 /**
496 * \brief Could not find music file specified, try specifying an absolute path.
497 */
498 static constexpr int MusicFileNotFound = -1900;
499 /**
500 * \brief Music file size is incorrect, could not parse correctly. Ensure
501 * you're using Tuner to generate file.
502 */
503 static constexpr int MusicFileWrongSize = -1901;
504 /**
505 * \brief Music file version is too new, update Phoenix to utilize this file.
506 */
507 static constexpr int MusicFileTooNew = -1902;
508 /**
509 * \brief Music file is invalid. Ensure you're using Tuner to generate file.
510 */
511 static constexpr int MusicFileInvalid = -1903;
512 /**
513 * \brief An invalid orchestra action occurred. Ensure a music file is loaded.
514 */
515 static constexpr int InvalidOrchestraAction = -1904;
516 /**
517 * \brief This music file version is too old. Regenerate file using Tuner.
518 */
519 static constexpr int MusicFileTooOld = -1905;
520 /**
521 * \brief Music interrupted due to one of the instruments being commanded a
522 * different control mode. Press Play to resume music.
523 */
524 static constexpr int MusicInterrupted = -1906;
525 /**
526 * \brief This device doesn't support MusicTone control mode.
527 */
528 static constexpr int MusicNotSupported = -1907;
529 /**
530 * \brief kInvalidInterface
531 */
532 static constexpr int kInvalidInterface = -2000;
533 /**
534 * \brief kInvalidGuid
535 */
536 static constexpr int kInvalidGuid = -2001;
537 /**
538 * \brief kInvalidClass
539 */
540 static constexpr int kInvalidClass = -2002;
541 /**
542 * \brief kInvalidProtocol
543 */
544 static constexpr int kInvalidProtocol = -2003;
545 /**
546 * \brief kInvalidPath
547 */
548 static constexpr int kInvalidPath = -2004;
549 /**
550 * \brief kGeneralWinUsbError
551 */
552 static constexpr int kGeneralWinUsbError = -2005;
553 /**
554 * \brief kFailedSetup
555 */
556 static constexpr int kFailedSetup = -2006;
557 /**
558 * \brief kListenFailed
559 */
560 static constexpr int kListenFailed = -2007;
561 /**
562 * \brief kSendFailed
563 */
564 static constexpr int kSendFailed = -2008;
565 /**
566 * \brief kReceiveFailed
567 */
568 static constexpr int kReceiveFailed = -2009;
569 /**
570 * \brief kInvalidRespFormat
571 */
572 static constexpr int kInvalidRespFormat = -2010;
573 /**
574 * \brief kWinUsbInitFailed
575 */
576 static constexpr int kWinUsbInitFailed = -2011;
577 /**
578 * \brief kWinUsbQueryFailed
579 */
580 static constexpr int kWinUsbQueryFailed = -2012;
581 /**
582 * \brief kWinUsbGeneralError
583 */
584 static constexpr int kWinUsbGeneralError = -2013;
585 /**
586 * \brief kAccessDenied
587 */
588 static constexpr int kAccessDenied = -2014;
589 /**
590 * \brief kFirmwareInvalidResponse
591 */
592 static constexpr int kFirmwareInvalidResponse = -2015;
593 /**
594 * \brief This StatusCode has not been initialized. Make sure the StatusCode is
595 * getting assigned to the return of a method.
596 */
597 static constexpr int StatusCodeNotInitialized = -10000;
598 /**
599 * \brief WarningNotInitialized
600 */
601 static constexpr int WarningNotInitialized = 10000;
602 /**
603 * \brief The timestamp reported by CANivore is at least 10ms older than the
604 * timestamp reported by the system, indicating it's fallen out of sync.
605 * This does not impact the data of this message, only the timing.
606 */
607 static constexpr int HwTimestampOutOfSync = 10001;
608 /**
609 * \brief InvalidNetwork
610 */
611 static constexpr int InvalidNetwork = -10001;
612 /**
613 * \brief The CAN bus does not support multi-signal synchronization.
614 */
615 static constexpr int MultiSignalNotSupported = -10002;
616 /**
617 * \brief Could not cast from base value to this particular signal's type
618 */
619 static constexpr int CouldNotCast = -10003;
620 /**
621 * \brief Could not find this value when searching for it
622 */
623 static constexpr int NotFound = -10004;
624 /**
625 * \brief This is not supported
626 */
627 static constexpr int NotSupported = -10005;
628 /**
629 * \brief Could not determine context from this device hash
630 */
631 static constexpr int MissingContext = -10006;
632 /**
633 * \brief Model name in license file does not match model name of selected
634 * device.
635 */
636 static constexpr int ModelMismatch = -10007;
637 /**
638 * \brief Serial Number in license file does not match model name of selected
639 * device.
640 */
641 static constexpr int SerialMismatch = -10008;
642 /**
643 * \brief Could not find specified file.
644 */
645 static constexpr int NoFile = -10009;
646 /**
647 * \brief License did not successfully download to Device.
648 */
649 static constexpr int LicenseDownloadFailed = -10010;
650 /**
651 * \brief Self Test report does not have any values, is the firmware up to
652 * date?
653 */
654 static constexpr int SelfTestIsEmpty = -10011;
655 /**
656 * \brief Failed to lookup signal properties. This can happen if the fimware
657 * is too new and supports signals that older APIs do not support.
658 */
659 static constexpr int SignalLookupFailed = -10012;
660 /**
661 * \brief The current mode of the device is invalid for getting this signal.
662 */
663 static constexpr int InvalidModeToGetSignal = -10013;
664 /**
665 * \brief Device is not licensed. Cannot get any data from it.
666 */
667 static constexpr int UnlicensedDevice = -10014;
668 /**
669 * \brief Size is invalid.
670 */
671 static constexpr int InvalidSize = -10015;
672 /**
673 * \brief InvalidLicenseResponse
674 */
675 static constexpr int InvalidLicenseResponse = -10016;
676 /**
677 * \brief InvalidContext
678 */
679 static constexpr int InvalidContext = -10017;
680 /**
681 * \brief InternalError
682 */
683 static constexpr int InternalError = -10018;
684 /**
685 * \brief TaskIsBusy
686 */
687 static constexpr int TaskIsBusy = -10019;
688 /**
689 * \brief kDeviceResponseIncorrect
690 */
691 static constexpr int kDeviceResponseIncorrect = -10020;
692 /**
693 * \brief kErrorPollingForDevices
694 */
695 static constexpr int kErrorPollingForDevices = -10021;
696 /**
697 * \brief Device firmware could not be retrieved. Check that the device is
698 * running Pro firmware, that the device ID is correct, that the
699 * specified CAN bus is correct, and that the device is powered.
700 */
701 static constexpr int CouldNotRetrieveProFirmware = -10022;
702 /**
703 * \brief Device firmware could not be decoded. Check that the device is
704 * running Pro firmware, that the device ID is correct, that the
705 * specified CAN bus is correct, and that the device is powered.
706 */
707 static constexpr int CouldNotDecodeDeviceFirmware = -10023;
708 /**
709 * \brief The values specified for master are in valid. Make sure the Device
710 * ID of master are correct.
711 */
712 static constexpr int InvalidIDToFollow = -10024;
713 /**
714 * \brief Using a Pro only feature on an unlicensed device. The device may not
715 * behave as expected if it continues to operate while unlicensed.
716 */
717 static constexpr int UsingProFeatureOnUnlicensedDevice = -10025;
718 /**
719 * \brief Firmware Too New. Use Phoenix Tuner to field upgrade your CTRE CAN
720 * device firmware(CRF) to a compatible version. Then restart your
721 * robot application to clear this error.
722 */
723 static constexpr int FirmwareTooNew = -10026;
724
725 operator int() const { return this->value; }
726
727 bool operator==(const StatusCode &data) const
728 {
729 return this->value == data.value;
730 }
731 bool operator==(int data) const
732 {
733 return this->value == data;
734 }
735 bool operator<(const StatusCode &data) const
736 {
737 return this->value < data.value;
738 }
739 bool operator<(int data) const
740 {
741 return this->value < data;
742 }
743 StatusCode(int val) : value{val} {}
744 StatusCode() : value{StatusCode::StatusCodeNotInitialized} {}
745
746 const char *GetName() const
747 {
748 switch (value)
749 {
750 case 0: return "OK";
751 case -101: return "InvalidDeviceSpec";
752 case -102: return "EcuIsNotPresent";
753 case -103: return "CouldNotEnterBl";
754 case -104: return "CouldNotConfirmBl";
755 case -105: return "CouldNotErase";
756 case -106: return "CouldNotSendFlash";
757 case -107: return "CouldNotValidate";
758 case -108: return "CouldNotRunApp";
759 case -109: return "CouldNotReqSetId";
760 case -110: return "CouldNotConfirmId";
761 case -111: return "FlashWasGood";
762 case -112: return "AppTooOld";
763 case -113: return "CouldNotReqSetDesc";
764 case -114: return "CompileSzIsWrong";
765 case -115: return "GadgeteerDeviceNoSetId";
766 case -116: return "InvalidTask";
767 case -117: return "NotImplemented";
768 case -118: return "NoDevicesOnBus";
769 case -119: return "MoreThanOneFile";
770 case -120: return "NodeIsInvalid";
771 case -121: return "InvalidDeviceDescriptor";
772 case -123: return "CouldNotSendCanFrame";
773 case -124: return "NormalModeMsgNotPresent";
774 case -125: return "FeatureNotSupported";
775 case -126: return "NotUpdating";
776 case -127: return "CorruptedPOST";
777 case -128: return "NoConfigs";
778 case -129: return "ConfigFailed";
779 case -130: return "CouldNotReqFactoryDefault";
780 case -131: return "CustomNameNotSupported";
781 case -132: return "ConfigReadWriteMismatch";
782 case -133: return "CouldNotReqSetConfigs";
783 case -134: return "InsufficientSz";
784 case -135: return "InvalidModel";
785 case -140: return "CouldNotReqDevInfo";
786 case -141: return "NoControls";
787 case -142: return "DeviceIsNull";
788 case -143: return "DeviceDidNotRespondToDiagReq";
789 case -144: return "OnlySupportedInTunerX";
790 case -145: return "CanivCliError";
791 case -200: return "InvalidCrfBadHeader";
792 case -201: return "InvalidCrfFileSzInvald";
793 case -202: return "InvalidCrfWrongProduct";
794 case -203: return "InvalidCrfNoSects";
795 case -204: return "InvalidCrfBadSectHeader";
796 case -205: return "InvalidCrfBadSectSize";
797 case -206: return "NoCrfFile";
798 case -300: return "CouldNotFindDynamicId";
799 case -301: return "DidNotGetDhcp";
800 case -302: return "DidNotGetFullDhcp";
801 case -350: return "InvalidLicenseResp";
802 case -351: return "InvalidCanivCache";
803 case -500: return "CannotOpenSerialPort";
804 case -501: return "CannotWriteSerialPort";
805 case -502: return "CannotReadSerialPort";
806 case -503: return "CannotSerialToDevice";
807 case -504: return "NoSerialControlFrameResp";
808 case -600: return "CannotOpenUdpPort";
809 case -601: return "CannotWriteUdpPort";
810 case -602: return "CannotReadUdpPort";
811 case -603: return "CannotUdpToDevice";
812 case -604: return "NoUdpControlFrameResp";
813 case -605: return "TimeoutIso15Response";
814 case -700: return "InvalidJson";
815 case -800: return "AppIsTerminating";
816 case 1000: return "CanMessageStale";
817 case 1006: return "BufferFull";
818 case 1010: return "PulseWidthSensorNotPresent";
819 case 1100: return "GeneralWarning";
820 case 1103: return "FirmVersionCouldNotBeRetrieved";
821 case 1104: return "FeaturesNotAvailableYet";
822 case 1105: return "ControlModeNotValid";
823 case 1106: return "ControlModeNotSupportedYet";
824 case 1109: return "MotProfFirmThreshold";
825 case 1110: return "MotProfFirmThreshold2";
826 case 1200: return "SimDeviceNotFound";
827 case 1201: return "SimPhysicsTypeNotSupported";
828 case 1202: return "SimDeviceAlreadyExists";
829 case -1001: return "TxFailed";
830 case -1002: return "InvalidParamValue";
831 case -1003: return "RxTimeout";
832 case -1004: return "TxTimeout";
833 case -1005: return "UnexpectedArbId";
834 case -1006: return "CanOverflowed";
835 case -1007: return "SensorNotPresent";
836 case -1008: return "FirmwareTooOld";
837 case -1009: return "CouldNotChangePeriod";
838 case -1010: return "BufferFailure";
839 case -1011: return "FirmwareNonFRC";
840 case -1100: return "GeneralError";
841 case -1200: return "SigNotUpdated";
842 case -1201: return "NotAllPIDValuesUpdated";
843 case -1300: return "GEN_PORT_ERROR";
844 case -1301: return "PORT_MODULE_TYPE_MISMATCH";
845 case -1400: return "GEN_MODULE_ERROR";
846 case -1401: return "MODULE_NOT_INIT_SET_ERROR";
847 case -1402: return "MODULE_NOT_INIT_GET_ERROR";
848 case -1500: return "WheelRadiusTooSmall";
849 case -1501: return "TicksPerRevZero";
850 case -1502: return "DistanceBetweenWheelsTooSmall";
851 case -1503: return "GainsAreNotSet";
852 case -1504: return "WrongRemoteLimitSwitchSource";
853 case -1505: return "DoubleVoltageCompensatingWPI";
854 case -1506: return "CANdleAnimSlotOutOfBounds";
855 case -1600: return "IncompatibleMode";
856 case -1601: return "InvalidHandle";
857 case -1700: return "FeatureRequiresHigherFirm";
858 case -1702: return "ConfigFactoryDefaultRequiresHigherFirm";
859 case -1703: return "ConfigMotionSCurveRequiresHigherFirm";
860 case -1704: return "TalonFXFirmwarePreVBatDetect";
861 case -1705: return "CANdleAnimationsRequireHigherFirm";
862 case -1800: return "LibraryCouldNotBeLoaded";
863 case -1801: return "MissingRoutineInLibrary";
864 case -1802: return "ResourceNotAvailable";
865 case -1900: return "MusicFileNotFound";
866 case -1901: return "MusicFileWrongSize";
867 case -1902: return "MusicFileTooNew";
868 case -1903: return "MusicFileInvalid";
869 case -1904: return "InvalidOrchestraAction";
870 case -1905: return "MusicFileTooOld";
871 case -1906: return "MusicInterrupted";
872 case -1907: return "MusicNotSupported";
873 case -2000: return "kInvalidInterface";
874 case -2001: return "kInvalidGuid";
875 case -2002: return "kInvalidClass";
876 case -2003: return "kInvalidProtocol";
877 case -2004: return "kInvalidPath";
878 case -2005: return "kGeneralWinUsbError";
879 case -2006: return "kFailedSetup";
880 case -2007: return "kListenFailed";
881 case -2008: return "kSendFailed";
882 case -2009: return "kReceiveFailed";
883 case -2010: return "kInvalidRespFormat";
884 case -2011: return "kWinUsbInitFailed";
885 case -2012: return "kWinUsbQueryFailed";
886 case -2013: return "kWinUsbGeneralError";
887 case -2014: return "kAccessDenied";
888 case -2015: return "kFirmwareInvalidResponse";
889 case -10000: return "StatusCodeNotInitialized";
890 case 10000: return "WarningNotInitialized";
891 case 10001: return "HwTimestampOutOfSync";
892 case -10001: return "InvalidNetwork";
893 case -10002: return "MultiSignalNotSupported";
894 case -10003: return "CouldNotCast";
895 case -10004: return "NotFound";
896 case -10005: return "NotSupported";
897 case -10006: return "MissingContext";
898 case -10007: return "ModelMismatch";
899 case -10008: return "SerialMismatch";
900 case -10009: return "NoFile";
901 case -10010: return "LicenseDownloadFailed";
902 case -10011: return "SelfTestIsEmpty";
903 case -10012: return "SignalLookupFailed";
904 case -10013: return "InvalidModeToGetSignal";
905 case -10014: return "UnlicensedDevice";
906 case -10015: return "InvalidSize";
907 case -10016: return "InvalidLicenseResponse";
908 case -10017: return "InvalidContext";
909 case -10018: return "InternalError";
910 case -10019: return "TaskIsBusy";
911 case -10020: return "kDeviceResponseIncorrect";
912 case -10021: return "kErrorPollingForDevices";
913 case -10022: return "CouldNotRetrieveProFirmware";
914 case -10023: return "CouldNotDecodeDeviceFirmware";
915 case -10024: return "InvalidIDToFollow";
916 case -10025: return "UsingProFeatureOnUnlicensedDevice";
917 case -10026: return "FirmwareTooNew";
918 default:
919 return "Could not find name";
920 }
921 }
922 const char *GetDescription() const
923 {
924 switch (value)
925 {
926 case 0: return "No Error";
927 case -101: return "InvalidDeviceSpec";
928 case -102: return "EcuIsNotPresent";
929 case -103: return "CouldNotEnterBl";
930 case -104: return "CouldNotConfirmBl";
931 case -105: return "CouldNotErase";
932 case -106: return "CouldNotSendFlash";
933 case -107: return "CouldNotValidate";
934 case -108: return "CouldNotRunApp";
935 case -109: return "CouldNotReqSetId";
936 case -110: return "CouldNotConfirmId";
937 case -111: return "FlashWasGood";
938 case -112: return "AppTooOld";
939 case -113: return "CouldNotReqSetDesc";
940 case -114: return "CompileSzIsWrong";
941 case -115: return "GadgeteerDeviceNoSetId";
942 case -116: return "InvalidTask";
943 case -117: return "Not Implemented, check latest installer.";
944 case -118: return "NoDevicesOnBus";
945 case -119: return "MoreThanOneFile";
946 case -120: return "NodeIsInvalid";
947 case -121: return "InvalidDeviceDescriptor";
948 case -123: return "CouldNotSendCanFrame";
949 case -124: return "NormalModeMsgNotPresent";
950 case -125: return "This feature is not supported.";
951 case -126: return "NotUpdating";
952 case -127: return "CorruptedPOST";
953 case -128: return "NoConfigs";
954 case -129: return "ConfigFailed";
955 case -130: return "CouldNotReqFactoryDefault";
956 case -131: return "CustomNameNotSupported";
957 case -132: return "ConfigReadWriteMismatch";
958 case -133: return "CouldNotReqSetConfigs";
959 case -134: return "InsufficientSz";
960 case -135: return "InvalidModel";
961 case -140: return "CouldNotReqDevInfo";
962 case -141: return "NoControls";
963 case -142: return "DeviceIsNull";
964 case -143: return "DeviceDidNotRespondToDiagReq";
965 case -144: return "OnlySupportedInTunerX";
966 case -145: return "CanivCliError";
967 case -200: return "InvalidCrfBadHeader";
968 case -201: return "InvalidCrfFileSzInvald";
969 case -202: return "InvalidCrfWrongProduct";
970 case -203: return "InvalidCrfNoSects";
971 case -204: return "InvalidCrfBadSectHeader";
972 case -205: return "InvalidCrfBadSectSize";
973 case -206: return "NoCrfFile";
974 case -300: return "CouldNotFindDynamicId";
975 case -301: return "DidNotGetDhcp";
976 case -302: return "DidNotGetFullDhcp";
977 case -350: return "InvalidLicenseResp";
978 case -351: return "InvalidCanivCache";
979 case -500: return "CannotOpenSerialPort";
980 case -501: return "CannotWriteSerialPort";
981 case -502: return "CannotReadSerialPort";
982 case -503: return "CannotSerialToDevice";
983 case -504: return "NoSerialControlFrameResp";
984 case -600: return "CannotOpenUdpPort";
985 case -601: return "CannotWriteUdpPort";
986 case -602: return "CannotReadUdpPort";
987 case -603: return "CannotUdpToDevice";
988 case -604: return "NoUdpControlFrameResp";
989 case -605: return "TimeoutIso15Response";
990 case -700: return "InvalidJson";
991 case -800: return "AppIsTerminating";
992 case 1000: return "CAN Message is stale.";
993 case 1006: return "Buffer is full, cannot insert more data.";
994 case 1010: return "PulseWidthSensorNotPresent";
995 case 1100: return "General Warning Occurred.";
996 case 1103: return "Firm Vers could not be retrieved. Use Phoenix Tuner to check ID and firmware(CRF) version.";
997 case 1104: return "This feature will be supported in a future update.";
998 case 1105: return "The control mode is not valid for this function.";
999 case 1106: return "This control mode is not supported yet. A future release will supported this soon.";
1000 case 1109: return "Motor Controller must have >= 3.2 firmware for motion profile control mode.";
1001 case 1110: return "Motor Controller must have >= 3.4 firmware for advanced PID0/PID1 features.";
1002 case 1200: return "SimDeviceNotFound";
1003 case 1201: return "SimPhysicsTypeNotSupported";
1004 case 1202: return "SimDeviceAlreadyExists";
1005 case -1001: return "Could not transmit CAN Frame.";
1006 case -1002: return "Incorrect argument passed into function/VI.";
1007 case -1003: return "CAN frame not received/too-stale.";
1008 case -1004: return "CAN Transmit timed out.";
1009 case -1005: return "ArbID is incorrect.";
1010 case -1006: return "CanOverflowed";
1011 case -1007: return "Sensor Not Present.";
1012 case -1008: return "Firmware Too Old. Use Phoenix Tuner to field upgrade your CTRE CAN device firmware(CRF). Then restart your robot application to clear this error.";
1013 case -1009: return "Control Frame Period could not be changed. Most likely it is not being transmitted.";
1014 case -1010: return "BufferFailure";
1015 case -1011: return "Firmware is legacy non-FRC version. Use Phoenix Tuner to field upgrade your CTRE CAN device firmware(CRF). Firmware greater than 20.0 required.";
1016 case -1100: return "General Error Occurred.";
1017 case -1200: return "No new response to update signal.";
1018 case -1201: return "NotAllPIDValuesUpdated";
1019 case -1300: return "GEN_PORT_ERROR";
1020 case -1301: return "PORT_MODULE_TYPE_MISMATCH";
1021 case -1400: return "GEN_MODULE_ERROR";
1022 case -1401: return "MODULE_NOT_INIT_SET_ERROR";
1023 case -1402: return "MODULE_NOT_INIT_GET_ERROR";
1024 case -1500: return "Wheel Radius is too small, cannot get distance traveled.";
1025 case -1501: return "Ticks per revolution is 0, cannot get heading.";
1026 case -1502: return "Distance between wheels is too small, cannot get heading.";
1027 case -1503: return "GainsAreNotSet";
1028 case -1504: return "Use RemoteLimitSwitchSource instead of LimitSwitchSource.";
1029 case -1505: return "Motor Controller Voltage Compensation should not be used with setVoltage(). This causes compensation to happen twice. Disable Voltage Compensation by calling enableVoltageCompensation(false) in order to use setVoltage().";
1030 case -1506: return "CANdleAnimSlotOutOfBounds";
1031 case -1600: return "IncompatibleMode";
1032 case -1601: return "Handle passed into function is incorrect.";
1033 case -1700: return "Features requires newer firmware version.";
1034 case -1702: return "Config factory default features require firmware >=3.10.";
1035 case -1703: return "Config Motion S Curve Strength features require firmware >=4.16.";
1036 case -1704: return "Talon FX(Falcon 500) Firmware Too Old. Use Phoenix Tuner to field upgrade your CTRE CAN device firmware(CRF) to >=20.3. Then restart your robot application to clear this error.";
1037 case -1705: return "CANdleAnimationsRequireHigherFirm";
1038 case -1800: return "LibraryCouldNotBeLoaded";
1039 case -1801: return "MissingRoutineInLibrary";
1040 case -1802: return "ResourceNotAvailable";
1041 case -1900: return "Could not find music file specified, try specifying an absolute path.";
1042 case -1901: return "Music file size is incorrect, could not parse correctly. Ensure you're using Tuner to generate file.";
1043 case -1902: return "Music file version is too new, update Phoenix to utilize this file.";
1044 case -1903: return "Music file is invalid. Ensure you're using Tuner to generate file.";
1045 case -1904: return "An invalid orchestra action occurred. Ensure a music file is loaded.";
1046 case -1905: return "This music file version is too old. Regenerate file using Tuner.";
1047 case -1906: return "Music interrupted due to one of the instruments being commanded a different control mode. Press Play to resume music.";
1048 case -1907: return "This device doesn't support MusicTone control mode.";
1049 case -2000: return "kInvalidInterface";
1050 case -2001: return "kInvalidGuid";
1051 case -2002: return "kInvalidClass";
1052 case -2003: return "kInvalidProtocol";
1053 case -2004: return "kInvalidPath";
1054 case -2005: return "kGeneralWinUsbError";
1055 case -2006: return "kFailedSetup";
1056 case -2007: return "kListenFailed";
1057 case -2008: return "kSendFailed";
1058 case -2009: return "kReceiveFailed";
1059 case -2010: return "kInvalidRespFormat";
1060 case -2011: return "kWinUsbInitFailed";
1061 case -2012: return "kWinUsbQueryFailed";
1062 case -2013: return "kWinUsbGeneralError";
1063 case -2014: return "kAccessDenied";
1064 case -2015: return "kFirmwareInvalidResponse";
1065 case -10000: return "This StatusCode has not been initialized. Make sure the StatusCode is getting assigned to the return of a method.";
1066 case 10000: return "WarningNotInitialized";
1067 case 10001: return "The timestamp reported by CANivore is at least 10ms older than the timestamp reported by the system, indicating it's fallen out of sync. This does not impact the data of this message, only the timing.";
1068 case -10001: return "InvalidNetwork";
1069 case -10002: return "The CAN bus does not support multi-signal synchronization.";
1070 case -10003: return "Could not cast from base value to this particular signal's type";
1071 case -10004: return "Could not find this value when searching for it";
1072 case -10005: return "This is not supported";
1073 case -10006: return "Could not determine context from this device hash";
1074 case -10007: return "Model name in license file does not match model name of selected device.";
1075 case -10008: return "Serial Number in license file does not match model name of selected device.";
1076 case -10009: return "Could not find specified file.";
1077 case -10010: return "License did not successfully download to Device.";
1078 case -10011: return "Self Test report does not have any values, is the firmware up to date?";
1079 case -10012: return "Failed to lookup signal properties. This can happen if the fimware is too new and supports signals that older APIs do not support.";
1080 case -10013: return "The current mode of the device is invalid for getting this signal.";
1081 case -10014: return "Device is not licensed. Cannot get any data from it.";
1082 case -10015: return "Size is invalid.";
1083 case -10016: return "InvalidLicenseResponse";
1084 case -10017: return "InvalidContext";
1085 case -10018: return "InternalError";
1086 case -10019: return "TaskIsBusy";
1087 case -10020: return "kDeviceResponseIncorrect";
1088 case -10021: return "kErrorPollingForDevices";
1089 case -10022: return "Device firmware could not be retrieved. Check that the device is running Pro firmware, that the device ID is correct, that the specified CAN bus is correct, and that the device is powered.";
1090 case -10023: return "Device firmware could not be decoded. Check that the device is running Pro firmware, that the device ID is correct, that the specified CAN bus is correct, and that the device is powered.";
1091 case -10024: return "The values specified for master are in valid. Make sure the Device ID of master are correct.";
1092 case -10025: return "Using a Pro only feature on an unlicensed device. The device may not behave as expected if it continues to operate while unlicensed.";
1093 case -10026: return "Firmware Too New. Use Phoenix Tuner to field upgrade your CTRE CAN device firmware(CRF) to a compatible version. Then restart your robot application to clear this error.";
1094 default:
1095 return "Could not find description";
1096 }
1097 }
1098 bool IsError() const { return value < 0; }
1099 bool IsWarning() const { return value > 0; }
1100 bool IsOK() const { return value == OK; }
1101 };
1102
1103 }
1104}
1105
1106#else // This is straight-C, so just create a typedef enum to use
1107
1108/**
1109 * \brief Typedef enum of the StatusCode for use in C projects
1110 */
1111typedef enum _StatusCode_t
1112{
1113 /**
1114 * \brief No Error
1115 */
1116 OK = 0,
1117 /**
1118 * \brief InvalidDeviceSpec
1119 */
1121 /**
1122 * \brief EcuIsNotPresent
1123 */
1125 /**
1126 * \brief CouldNotEnterBl
1127 */
1129 /**
1130 * \brief CouldNotConfirmBl
1131 */
1133 /**
1134 * \brief CouldNotErase
1135 */
1137 /**
1138 * \brief CouldNotSendFlash
1139 */
1141 /**
1142 * \brief CouldNotValidate
1143 */
1145 /**
1146 * \brief CouldNotRunApp
1147 */
1149 /**
1150 * \brief CouldNotReqSetId
1151 */
1153 /**
1154 * \brief CouldNotConfirmId
1155 */
1157 /**
1158 * \brief FlashWasGood
1159 */
1161 /**
1162 * \brief AppTooOld
1163 */
1165 /**
1166 * \brief CouldNotReqSetDesc
1167 */
1169 /**
1170 * \brief CompileSzIsWrong
1171 */
1173 /**
1174 * \brief GadgeteerDeviceNoSetId
1175 */
1177 /**
1178 * \brief InvalidTask
1179 */
1181 /**
1182 * \brief Not Implemented, check latest installer.
1183 */
1185 /**
1186 * \brief NoDevicesOnBus
1187 */
1189 /**
1190 * \brief MoreThanOneFile
1191 */
1193 /**
1194 * \brief NodeIsInvalid
1195 */
1197 /**
1198 * \brief InvalidDeviceDescriptor
1199 */
1201 /**
1202 * \brief CouldNotSendCanFrame
1203 */
1205 /**
1206 * \brief NormalModeMsgNotPresent
1207 */
1209 /**
1210 * \brief This feature is not supported.
1211 */
1213 /**
1214 * \brief NotUpdating
1215 */
1217 /**
1218 * \brief CorruptedPOST
1219 */
1221 /**
1222 * \brief NoConfigs
1223 */
1225 /**
1226 * \brief ConfigFailed
1227 */
1229 /**
1230 * \brief CouldNotReqFactoryDefault
1231 */
1233 /**
1234 * \brief CustomNameNotSupported
1235 */
1237 /**
1238 * \brief ConfigReadWriteMismatch
1239 */
1241 /**
1242 * \brief CouldNotReqSetConfigs
1243 */
1245 /**
1246 * \brief InsufficientSz
1247 */
1249 /**
1250 * \brief InvalidModel
1251 */
1253 /**
1254 * \brief CouldNotReqDevInfo
1255 */
1257 /**
1258 * \brief NoControls
1259 */
1261 /**
1262 * \brief DeviceIsNull
1263 */
1265 /**
1266 * \brief DeviceDidNotRespondToDiagReq
1267 */
1269 /**
1270 * \brief OnlySupportedInTunerX
1271 */
1273 /**
1274 * \brief CanivCliError
1275 */
1277 /**
1278 * \brief InvalidCrfBadHeader
1279 */
1281 /**
1282 * \brief InvalidCrfFileSzInvald
1283 */
1285 /**
1286 * \brief InvalidCrfWrongProduct
1287 */
1289 /**
1290 * \brief InvalidCrfNoSects
1291 */
1293 /**
1294 * \brief InvalidCrfBadSectHeader
1295 */
1297 /**
1298 * \brief InvalidCrfBadSectSize
1299 */
1301 /**
1302 * \brief NoCrfFile
1303 */
1305 /**
1306 * \brief CouldNotFindDynamicId
1307 */
1309 /**
1310 * \brief DidNotGetDhcp
1311 */
1313 /**
1314 * \brief DidNotGetFullDhcp
1315 */
1317 /**
1318 * \brief InvalidLicenseResp
1319 */
1321 /**
1322 * \brief InvalidCanivCache
1323 */
1325 /**
1326 * \brief CannotOpenSerialPort
1327 */
1329 /**
1330 * \brief CannotWriteSerialPort
1331 */
1333 /**
1334 * \brief CannotReadSerialPort
1335 */
1337 /**
1338 * \brief CannotSerialToDevice
1339 */
1341 /**
1342 * \brief NoSerialControlFrameResp
1343 */
1345 /**
1346 * \brief CannotOpenUdpPort
1347 */
1349 /**
1350 * \brief CannotWriteUdpPort
1351 */
1353 /**
1354 * \brief CannotReadUdpPort
1355 */
1357 /**
1358 * \brief CannotUdpToDevice
1359 */
1361 /**
1362 * \brief NoUdpControlFrameResp
1363 */
1365 /**
1366 * \brief TimeoutIso15Response
1367 */
1369 /**
1370 * \brief InvalidJson
1371 */
1373 /**
1374 * \brief AppIsTerminating
1375 */
1377 /**
1378 * \brief CAN Message is stale.
1379 */
1381 /**
1382 * \brief Buffer is full, cannot insert more data.
1383 */
1385 /**
1386 * \brief PulseWidthSensorNotPresent
1387 */
1389 /**
1390 * \brief General Warning Occurred.
1391 */
1393 /**
1394 * \brief Firm Vers could not be retrieved. Use Phoenix Tuner to check ID and
1395 * firmware(CRF) version.
1396 */
1398 /**
1399 * \brief This feature will be supported in a future update.
1400 */
1402 /**
1403 * \brief The control mode is not valid for this function.
1404 */
1406 /**
1407 * \brief This control mode is not supported yet. A future release will
1408 * supported this soon.
1409 */
1411 /**
1412 * \brief Motor Controller must have &gt;= 3.2 firmware for motion profile control
1413 * mode.
1414 */
1416 /**
1417 * \brief Motor Controller must have &gt;= 3.4 firmware for advanced PID0/PID1
1418 * features.
1419 */
1421 /**
1422 * \brief SimDeviceNotFound
1423 */
1425 /**
1426 * \brief SimPhysicsTypeNotSupported
1427 */
1429 /**
1430 * \brief SimDeviceAlreadyExists
1431 */
1433 /**
1434 * \brief Could not transmit CAN Frame.
1435 */
1436 TxFailed = -1001,
1437 /**
1438 * \brief Incorrect argument passed into function/VI.
1439 */
1441 /**
1442 * \brief CAN frame not received/too-stale.
1443 */
1444 RxTimeout = -1003,
1445 /**
1446 * \brief CAN Transmit timed out.
1447 */
1448 TxTimeout = -1004,
1449 /**
1450 * \brief ArbID is incorrect.
1451 */
1453 /**
1454 * \brief CanOverflowed
1455 */
1457 /**
1458 * \brief Sensor Not Present.
1459 */
1461 /**
1462 * \brief Firmware Too Old. Use Phoenix Tuner to field upgrade your CTRE CAN
1463 * device firmware(CRF). Then restart your robot application to clear
1464 * this error.
1465 */
1467 /**
1468 * \brief Control Frame Period could not be changed. Most likely it is not
1469 * being transmitted.
1470 */
1472 /**
1473 * \brief BufferFailure
1474 */
1476 /**
1477 * \brief Firmware is legacy non-FRC version. Use Phoenix Tuner to field
1478 * upgrade your CTRE CAN device firmware(CRF). Firmware greater than
1479 * 20.0 required.
1480 */
1482 /**
1483 * \brief General Error Occurred.
1484 */
1486 /**
1487 * \brief No new response to update signal.
1488 */
1490 /**
1491 * \brief NotAllPIDValuesUpdated
1492 */
1494 /**
1495 * \brief GEN_PORT_ERROR
1496 */
1498 /**
1499 * \brief PORT_MODULE_TYPE_MISMATCH
1500 */
1502 /**
1503 * \brief GEN_MODULE_ERROR
1504 */
1506 /**
1507 * \brief MODULE_NOT_INIT_SET_ERROR
1508 */
1510 /**
1511 * \brief MODULE_NOT_INIT_GET_ERROR
1512 */
1514 /**
1515 * \brief Wheel Radius is too small, cannot get distance traveled.
1516 */
1518 /**
1519 * \brief Ticks per revolution is 0, cannot get heading.
1520 */
1522 /**
1523 * \brief Distance between wheels is too small, cannot get heading.
1524 */
1526 /**
1527 * \brief GainsAreNotSet
1528 */
1530 /**
1531 * \brief Use RemoteLimitSwitchSource instead of LimitSwitchSource.
1532 */
1534 /**
1535 * \brief Motor Controller Voltage Compensation should not be used with
1536 * setVoltage(). This causes compensation to happen twice. Disable
1537 * Voltage Compensation by calling enableVoltageCompensation(false) in
1538 * order to use setVoltage().
1539 */
1541 /**
1542 * \brief CANdleAnimSlotOutOfBounds
1543 */
1545 /**
1546 * \brief IncompatibleMode
1547 */
1549 /**
1550 * \brief Handle passed into function is incorrect.
1551 */
1553 /**
1554 * \brief Features requires newer firmware version.
1555 */
1557 /**
1558 * \brief Config factory default features require firmware &gt;=3.10.
1559 */
1561 /**
1562 * \brief Config Motion S Curve Strength features require firmware &gt;=4.16.
1563 */
1565 /**
1566 * \brief Talon FX(Falcon 500) Firmware Too Old. Use Phoenix Tuner to field
1567 * upgrade your CTRE CAN device firmware(CRF) to &gt;=20.3. Then restart
1568 * your robot application to clear this error.
1569 */
1571 /**
1572 * \brief CANdleAnimationsRequireHigherFirm
1573 */
1575 /**
1576 * \brief LibraryCouldNotBeLoaded
1577 */
1579 /**
1580 * \brief MissingRoutineInLibrary
1581 */
1583 /**
1584 * \brief ResourceNotAvailable
1585 */
1587 /**
1588 * \brief Could not find music file specified, try specifying an absolute path.
1589 */
1591 /**
1592 * \brief Music file size is incorrect, could not parse correctly. Ensure
1593 * you're using Tuner to generate file.
1594 */
1596 /**
1597 * \brief Music file version is too new, update Phoenix to utilize this file.
1598 */
1600 /**
1601 * \brief Music file is invalid. Ensure you're using Tuner to generate file.
1602 */
1604 /**
1605 * \brief An invalid orchestra action occurred. Ensure a music file is loaded.
1606 */
1608 /**
1609 * \brief This music file version is too old. Regenerate file using Tuner.
1610 */
1612 /**
1613 * \brief Music interrupted due to one of the instruments being commanded a
1614 * different control mode. Press Play to resume music.
1615 */
1617 /**
1618 * \brief This device doesn't support MusicTone control mode.
1619 */
1621 /**
1622 * \brief kInvalidInterface
1623 */
1625 /**
1626 * \brief kInvalidGuid
1627 */
1629 /**
1630 * \brief kInvalidClass
1631 */
1633 /**
1634 * \brief kInvalidProtocol
1635 */
1637 /**
1638 * \brief kInvalidPath
1639 */
1641 /**
1642 * \brief kGeneralWinUsbError
1643 */
1645 /**
1646 * \brief kFailedSetup
1647 */
1649 /**
1650 * \brief kListenFailed
1651 */
1653 /**
1654 * \brief kSendFailed
1655 */
1657 /**
1658 * \brief kReceiveFailed
1659 */
1661 /**
1662 * \brief kInvalidRespFormat
1663 */
1665 /**
1666 * \brief kWinUsbInitFailed
1667 */
1669 /**
1670 * \brief kWinUsbQueryFailed
1671 */
1673 /**
1674 * \brief kWinUsbGeneralError
1675 */
1677 /**
1678 * \brief kAccessDenied
1679 */
1681 /**
1682 * \brief kFirmwareInvalidResponse
1683 */
1685 /**
1686 * \brief This StatusCode has not been initialized. Make sure the StatusCode is
1687 * getting assigned to the return of a method.
1688 */
1690 /**
1691 * \brief WarningNotInitialized
1692 */
1694 /**
1695 * \brief The timestamp reported by CANivore is at least 10ms older than the
1696 * timestamp reported by the system, indicating it's fallen out of sync.
1697 * This does not impact the data of this message, only the timing.
1698 */
1700 /**
1701 * \brief InvalidNetwork
1702 */
1704 /**
1705 * \brief The CAN bus does not support multi-signal synchronization.
1706 */
1708 /**
1709 * \brief Could not cast from base value to this particular signal's type
1710 */
1712 /**
1713 * \brief Could not find this value when searching for it
1714 */
1715 NotFound = -10004,
1716 /**
1717 * \brief This is not supported
1718 */
1720 /**
1721 * \brief Could not determine context from this device hash
1722 */
1724 /**
1725 * \brief Model name in license file does not match model name of selected
1726 * device.
1727 */
1729 /**
1730 * \brief Serial Number in license file does not match model name of selected
1731 * device.
1732 */
1734 /**
1735 * \brief Could not find specified file.
1736 */
1737 NoFile = -10009,
1738 /**
1739 * \brief License did not successfully download to Device.
1740 */
1742 /**
1743 * \brief Self Test report does not have any values, is the firmware up to
1744 * date?
1745 */
1747 /**
1748 * \brief Failed to lookup signal properties. This can happen if the fimware
1749 * is too new and supports signals that older APIs do not support.
1750 */
1752 /**
1753 * \brief The current mode of the device is invalid for getting this signal.
1754 */
1756 /**
1757 * \brief Device is not licensed. Cannot get any data from it.
1758 */
1760 /**
1761 * \brief Size is invalid.
1762 */
1763 InvalidSize = -10015,
1764 /**
1765 * \brief InvalidLicenseResponse
1766 */
1768 /**
1769 * \brief InvalidContext
1770 */
1772 /**
1773 * \brief InternalError
1774 */
1776 /**
1777 * \brief TaskIsBusy
1778 */
1779 TaskIsBusy = -10019,
1780 /**
1781 * \brief kDeviceResponseIncorrect
1782 */
1784 /**
1785 * \brief kErrorPollingForDevices
1786 */
1788 /**
1789 * \brief Device firmware could not be retrieved. Check that the device is
1790 * running Pro firmware, that the device ID is correct, that the
1791 * specified CAN bus is correct, and that the device is powered.
1792 */
1794 /**
1795 * \brief Device firmware could not be decoded. Check that the device is
1796 * running Pro firmware, that the device ID is correct, that the
1797 * specified CAN bus is correct, and that the device is powered.
1798 */
1800 /**
1801 * \brief The values specified for master are in valid. Make sure the Device
1802 * ID of master are correct.
1803 */
1805 /**
1806 * \brief Using a Pro only feature on an unlicensed device. The device may not
1807 * behave as expected if it continues to operate while unlicensed.
1808 */
1810 /**
1811 * \brief Firmware Too New. Use Phoenix Tuner to field upgrade your CTRE CAN
1812 * device firmware(CRF) to a compatible version. Then restart your
1813 * robot application to clear this error.
1814 */
1817
1818/**
1819 * \brief Get the name of the StatusCode passed
1820 *
1821 * \param value StatusCode to get name of
1822 * \returns const char* Name of StatusCode
1823 */
1825/**
1826 * \brief Get the description of the StatusCode passed
1827 *
1828 * \param value StatusCode to get description of
1829 * \returns const char* Description of StatusCode
1830 */
1832
1833#endif
enum _StatusCode_t StatusCode_t
Typedef enum of the StatusCode for use in C projects.
_StatusCode_t
Typedef enum of the StatusCode for use in C projects.
Definition: StatusCodes.h:1112
@ CouldNotRunApp
CouldNotRunApp.
Definition: StatusCodes.h:1148
@ CouldNotReqSetId
CouldNotReqSetId.
Definition: StatusCodes.h:1152
@ TalonFXFirmwarePreVBatDetect
Talon FX(Falcon 500) Firmware Too Old.
Definition: StatusCodes.h:1570
@ SimDeviceNotFound
SimDeviceNotFound.
Definition: StatusCodes.h:1424
@ InvalidContext
InvalidContext.
Definition: StatusCodes.h:1771
@ CanMessageStale
CAN Message is stale.
Definition: StatusCodes.h:1380
@ NoConfigs
NoConfigs.
Definition: StatusCodes.h:1224
@ IncompatibleMode
IncompatibleMode.
Definition: StatusCodes.h:1548
@ InvalidHandle
Handle passed into function is incorrect.
Definition: StatusCodes.h:1552
@ GainsAreNotSet
GainsAreNotSet.
Definition: StatusCodes.h:1529
@ MusicFileInvalid
Music file is invalid.
Definition: StatusCodes.h:1603
@ TicksPerRevZero
Ticks per revolution is 0, cannot get heading.
Definition: StatusCodes.h:1521
@ NotUpdating
NotUpdating.
Definition: StatusCodes.h:1216
@ MotProfFirmThreshold
Motor Controller must have >= 3.2 firmware for motion profile control mode.
Definition: StatusCodes.h:1415
@ AppIsTerminating
AppIsTerminating.
Definition: StatusCodes.h:1376
@ CannotSerialToDevice
CannotSerialToDevice.
Definition: StatusCodes.h:1340
@ MusicFileNotFound
Could not find music file specified, try specifying an absolute path.
Definition: StatusCodes.h:1590
@ ConfigReadWriteMismatch
ConfigReadWriteMismatch.
Definition: StatusCodes.h:1240
@ kWinUsbQueryFailed
kWinUsbQueryFailed
Definition: StatusCodes.h:1672
@ kAccessDenied
kAccessDenied
Definition: StatusCodes.h:1680
@ kInvalidPath
kInvalidPath
Definition: StatusCodes.h:1640
@ CouldNotReqSetConfigs
CouldNotReqSetConfigs.
Definition: StatusCodes.h:1244
@ WheelRadiusTooSmall
Wheel Radius is too small, cannot get distance traveled.
Definition: StatusCodes.h:1517
@ InvalidJson
InvalidJson.
Definition: StatusCodes.h:1372
@ CannotOpenUdpPort
CannotOpenUdpPort.
Definition: StatusCodes.h:1348
@ OK
No Error.
Definition: StatusCodes.h:1116
@ StatusCodeNotInitialized
This StatusCode has not been initialized.
Definition: StatusCodes.h:1689
@ CANdleAnimSlotOutOfBounds
CANdleAnimSlotOutOfBounds.
Definition: StatusCodes.h:1544
@ NoDevicesOnBus
NoDevicesOnBus.
Definition: StatusCodes.h:1188
@ MoreThanOneFile
MoreThanOneFile.
Definition: StatusCodes.h:1192
@ BufferFull
Buffer is full, cannot insert more data.
Definition: StatusCodes.h:1384
@ GadgeteerDeviceNoSetId
GadgeteerDeviceNoSetId.
Definition: StatusCodes.h:1176
@ DidNotGetFullDhcp
DidNotGetFullDhcp.
Definition: StatusCodes.h:1316
@ CANdleAnimationsRequireHigherFirm
CANdleAnimationsRequireHigherFirm.
Definition: StatusCodes.h:1574
@ InvalidLicenseResponse
InvalidLicenseResponse.
Definition: StatusCodes.h:1767
@ RxTimeout
CAN frame not received/too-stale.
Definition: StatusCodes.h:1444
@ MultiSignalNotSupported
The CAN bus does not support multi-signal synchronization.
Definition: StatusCodes.h:1707
@ CannotReadUdpPort
CannotReadUdpPort.
Definition: StatusCodes.h:1356
@ CouldNotDecodeDeviceFirmware
Device firmware could not be decoded.
Definition: StatusCodes.h:1799
@ kErrorPollingForDevices
kErrorPollingForDevices
Definition: StatusCodes.h:1787
@ kDeviceResponseIncorrect
kDeviceResponseIncorrect
Definition: StatusCodes.h:1783
@ GEN_PORT_ERROR
GEN_PORT_ERROR.
Definition: StatusCodes.h:1497
@ TxFailed
Could not transmit CAN Frame.
Definition: StatusCodes.h:1436
@ InvalidCrfFileSzInvald
InvalidCrfFileSzInvald.
Definition: StatusCodes.h:1284
@ MODULE_NOT_INIT_GET_ERROR
MODULE_NOT_INIT_GET_ERROR.
Definition: StatusCodes.h:1513
@ LicenseDownloadFailed
License did not successfully download to Device.
Definition: StatusCodes.h:1741
@ NoControls
NoControls.
Definition: StatusCodes.h:1260
@ InvalidModel
InvalidModel.
Definition: StatusCodes.h:1252
@ kWinUsbInitFailed
kWinUsbInitFailed
Definition: StatusCodes.h:1668
@ ControlModeNotSupportedYet
This control mode is not supported yet.
Definition: StatusCodes.h:1410
@ kInvalidClass
kInvalidClass
Definition: StatusCodes.h:1632
@ CanOverflowed
CanOverflowed.
Definition: StatusCodes.h:1456
@ DidNotGetDhcp
DidNotGetDhcp.
Definition: StatusCodes.h:1312
@ InvalidOrchestraAction
An invalid orchestra action occurred.
Definition: StatusCodes.h:1607
@ kInvalidRespFormat
kInvalidRespFormat
Definition: StatusCodes.h:1664
@ DeviceDidNotRespondToDiagReq
DeviceDidNotRespondToDiagReq.
Definition: StatusCodes.h:1268
@ CannotWriteUdpPort
CannotWriteUdpPort.
Definition: StatusCodes.h:1352
@ NoFile
Could not find specified file.
Definition: StatusCodes.h:1737
@ ControlModeNotValid
The control mode is not valid for this function.
Definition: StatusCodes.h:1405
@ NormalModeMsgNotPresent
NormalModeMsgNotPresent.
Definition: StatusCodes.h:1208
@ UnexpectedArbId
ArbID is incorrect.
Definition: StatusCodes.h:1452
@ DistanceBetweenWheelsTooSmall
Distance between wheels is too small, cannot get heading.
Definition: StatusCodes.h:1525
@ HwTimestampOutOfSync
The timestamp reported by CANivore is at least 10ms older than the timestamp reported by the system,...
Definition: StatusCodes.h:1699
@ MusicFileWrongSize
Music file size is incorrect, could not parse correctly.
Definition: StatusCodes.h:1595
@ CouldNotChangePeriod
Control Frame Period could not be changed.
Definition: StatusCodes.h:1471
@ FeaturesNotAvailableYet
This feature will be supported in a future update.
Definition: StatusCodes.h:1401
@ InvalidLicenseResp
InvalidLicenseResp.
Definition: StatusCodes.h:1320
@ kListenFailed
kListenFailed
Definition: StatusCodes.h:1652
@ MusicFileTooNew
Music file version is too new, update Phoenix to utilize this file.
Definition: StatusCodes.h:1599
@ FirmVersionCouldNotBeRetrieved
Firm Vers could not be retrieved.
Definition: StatusCodes.h:1397
@ CompileSzIsWrong
CompileSzIsWrong.
Definition: StatusCodes.h:1172
@ InvalidTask
InvalidTask.
Definition: StatusCodes.h:1180
@ UsingProFeatureOnUnlicensedDevice
Using a Pro only feature on an unlicensed device.
Definition: StatusCodes.h:1809
@ NotFound
Could not find this value when searching for it.
Definition: StatusCodes.h:1715
@ CouldNotCast
Could not cast from base value to this particular signal's type.
Definition: StatusCodes.h:1711
@ DeviceIsNull
DeviceIsNull.
Definition: StatusCodes.h:1264
@ InvalidCanivCache
InvalidCanivCache.
Definition: StatusCodes.h:1324
@ WrongRemoteLimitSwitchSource
Use RemoteLimitSwitchSource instead of LimitSwitchSource.
Definition: StatusCodes.h:1533
@ InvalidModeToGetSignal
The current mode of the device is invalid for getting this signal.
Definition: StatusCodes.h:1755
@ CouldNotEnterBl
CouldNotEnterBl.
Definition: StatusCodes.h:1128
@ MusicFileTooOld
This music file version is too old.
Definition: StatusCodes.h:1611
@ CannotUdpToDevice
CannotUdpToDevice.
Definition: StatusCodes.h:1360
@ CorruptedPOST
CorruptedPOST.
Definition: StatusCodes.h:1220
@ kInvalidInterface
kInvalidInterface
Definition: StatusCodes.h:1624
@ MissingContext
Could not determine context from this device hash.
Definition: StatusCodes.h:1723
@ CouldNotRetrieveProFirmware
Device firmware could not be retrieved.
Definition: StatusCodes.h:1793
@ InvalidNetwork
InvalidNetwork.
Definition: StatusCodes.h:1703
@ ResourceNotAvailable
ResourceNotAvailable.
Definition: StatusCodes.h:1586
@ InvalidCrfNoSects
InvalidCrfNoSects.
Definition: StatusCodes.h:1292
@ CouldNotReqDevInfo
CouldNotReqDevInfo.
Definition: StatusCodes.h:1256
@ InvalidCrfBadSectHeader
InvalidCrfBadSectHeader.
Definition: StatusCodes.h:1296
@ kFirmwareInvalidResponse
kFirmwareInvalidResponse
Definition: StatusCodes.h:1684
@ CanivCliError
CanivCliError.
Definition: StatusCodes.h:1276
@ GeneralError
General Error Occurred.
Definition: StatusCodes.h:1485
@ kGeneralWinUsbError
kGeneralWinUsbError
Definition: StatusCodes.h:1644
@ SimPhysicsTypeNotSupported
SimPhysicsTypeNotSupported.
Definition: StatusCodes.h:1428
@ CannotWriteSerialPort
CannotWriteSerialPort.
Definition: StatusCodes.h:1332
@ GEN_MODULE_ERROR
GEN_MODULE_ERROR.
Definition: StatusCodes.h:1505
@ SignalLookupFailed
Failed to lookup signal properties.
Definition: StatusCodes.h:1751
@ kWinUsbGeneralError
kWinUsbGeneralError
Definition: StatusCodes.h:1676
@ InvalidSize
Size is invalid.
Definition: StatusCodes.h:1763
@ NoCrfFile
NoCrfFile.
Definition: StatusCodes.h:1304
@ InsufficientSz
InsufficientSz.
Definition: StatusCodes.h:1248
@ AppTooOld
AppTooOld.
Definition: StatusCodes.h:1164
@ GeneralWarning
General Warning Occurred.
Definition: StatusCodes.h:1392
@ UnlicensedDevice
Device is not licensed.
Definition: StatusCodes.h:1759
@ kFailedSetup
kFailedSetup
Definition: StatusCodes.h:1648
@ CouldNotSendCanFrame
CouldNotSendCanFrame.
Definition: StatusCodes.h:1204
@ InvalidCrfWrongProduct
InvalidCrfWrongProduct.
Definition: StatusCodes.h:1288
@ LibraryCouldNotBeLoaded
LibraryCouldNotBeLoaded.
Definition: StatusCodes.h:1578
@ PulseWidthSensorNotPresent
PulseWidthSensorNotPresent.
Definition: StatusCodes.h:1388
@ FirmwareTooNew
Firmware Too New.
Definition: StatusCodes.h:1815
@ FeatureRequiresHigherFirm
Features requires newer firmware version.
Definition: StatusCodes.h:1556
@ CouldNotReqSetDesc
CouldNotReqSetDesc.
Definition: StatusCodes.h:1168
@ FirmwareNonFRC
Firmware is legacy non-FRC version.
Definition: StatusCodes.h:1481
@ NoUdpControlFrameResp
NoUdpControlFrameResp.
Definition: StatusCodes.h:1364
@ MusicNotSupported
This device doesn't support MusicTone control mode.
Definition: StatusCodes.h:1620
@ InvalidCrfBadHeader
InvalidCrfBadHeader.
Definition: StatusCodes.h:1280
@ CouldNotSendFlash
CouldNotSendFlash.
Definition: StatusCodes.h:1140
@ kSendFailed
kSendFailed
Definition: StatusCodes.h:1656
@ TxTimeout
CAN Transmit timed out.
Definition: StatusCodes.h:1448
@ InvalidParamValue
Incorrect argument passed into function/VI.
Definition: StatusCodes.h:1440
@ MusicInterrupted
Music interrupted due to one of the instruments being commanded a different control mode.
Definition: StatusCodes.h:1616
@ InvalidCrfBadSectSize
InvalidCrfBadSectSize.
Definition: StatusCodes.h:1300
@ PORT_MODULE_TYPE_MISMATCH
PORT_MODULE_TYPE_MISMATCH.
Definition: StatusCodes.h:1501
@ WarningNotInitialized
WarningNotInitialized.
Definition: StatusCodes.h:1693
@ kReceiveFailed
kReceiveFailed
Definition: StatusCodes.h:1660
@ SensorNotPresent
Sensor Not Present.
Definition: StatusCodes.h:1460
@ SimDeviceAlreadyExists
SimDeviceAlreadyExists.
Definition: StatusCodes.h:1432
@ NotImplemented
Not Implemented, check latest installer.
Definition: StatusCodes.h:1184
@ ConfigMotionSCurveRequiresHigherFirm
Config Motion S Curve Strength features require firmware >=4.16.
Definition: StatusCodes.h:1564
@ CouldNotConfirmBl
CouldNotConfirmBl.
Definition: StatusCodes.h:1132
@ CouldNotFindDynamicId
CouldNotFindDynamicId.
Definition: StatusCodes.h:1308
@ kInvalidProtocol
kInvalidProtocol
Definition: StatusCodes.h:1636
@ TimeoutIso15Response
TimeoutIso15Response.
Definition: StatusCodes.h:1368
@ CannotReadSerialPort
CannotReadSerialPort.
Definition: StatusCodes.h:1336
@ CouldNotConfirmId
CouldNotConfirmId.
Definition: StatusCodes.h:1156
@ FirmwareTooOld
Firmware Too Old.
Definition: StatusCodes.h:1466
@ CouldNotValidate
CouldNotValidate.
Definition: StatusCodes.h:1144
@ InvalidDeviceDescriptor
InvalidDeviceDescriptor.
Definition: StatusCodes.h:1200
@ EcuIsNotPresent
EcuIsNotPresent.
Definition: StatusCodes.h:1124
@ InvalidDeviceSpec
InvalidDeviceSpec.
Definition: StatusCodes.h:1120
@ NotSupported
This is not supported.
Definition: StatusCodes.h:1719
@ NoSerialControlFrameResp
NoSerialControlFrameResp.
Definition: StatusCodes.h:1344
@ ConfigFactoryDefaultRequiresHigherFirm
Config factory default features require firmware >=3.10.
Definition: StatusCodes.h:1560
@ MODULE_NOT_INIT_SET_ERROR
MODULE_NOT_INIT_SET_ERROR.
Definition: StatusCodes.h:1509
@ CouldNotReqFactoryDefault
CouldNotReqFactoryDefault.
Definition: StatusCodes.h:1232
@ SelfTestIsEmpty
Self Test report does not have any values, is the firmware up to date?
Definition: StatusCodes.h:1746
@ ConfigFailed
ConfigFailed.
Definition: StatusCodes.h:1228
@ TaskIsBusy
TaskIsBusy.
Definition: StatusCodes.h:1779
@ DoubleVoltageCompensatingWPI
Motor Controller Voltage Compensation should not be used with setVoltage().
Definition: StatusCodes.h:1540
@ SigNotUpdated
No new response to update signal.
Definition: StatusCodes.h:1489
@ NodeIsInvalid
NodeIsInvalid.
Definition: StatusCodes.h:1196
@ FeatureNotSupported
This feature is not supported.
Definition: StatusCodes.h:1212
@ InvalidIDToFollow
The values specified for master are in valid.
Definition: StatusCodes.h:1804
@ CustomNameNotSupported
CustomNameNotSupported.
Definition: StatusCodes.h:1236
@ OnlySupportedInTunerX
OnlySupportedInTunerX.
Definition: StatusCodes.h:1272
@ FlashWasGood
FlashWasGood.
Definition: StatusCodes.h:1160
@ InternalError
InternalError.
Definition: StatusCodes.h:1775
@ ModelMismatch
Model name in license file does not match model name of selected device.
Definition: StatusCodes.h:1728
@ CouldNotErase
CouldNotErase.
Definition: StatusCodes.h:1136
@ NotAllPIDValuesUpdated
NotAllPIDValuesUpdated.
Definition: StatusCodes.h:1493
@ MotProfFirmThreshold2
Motor Controller must have >= 3.4 firmware for advanced PID0/PID1 features.
Definition: StatusCodes.h:1420
@ CannotOpenSerialPort
CannotOpenSerialPort.
Definition: StatusCodes.h:1328
@ BufferFailure
BufferFailure.
Definition: StatusCodes.h:1475
@ kInvalidGuid
kInvalidGuid
Definition: StatusCodes.h:1628
@ MissingRoutineInLibrary
MissingRoutineInLibrary.
Definition: StatusCodes.h:1582
@ SerialMismatch
Serial Number in license file does not match model name of selected device.
Definition: StatusCodes.h:1733
const char * GetStatusCodeName(StatusCode_t value)
Get the name of the StatusCode passed.
const char * GetStatusCodeDescription(StatusCode_t value)
Get the description of the StatusCode passed.
Definition: string_util.hpp:14