7 #ifndef __WPI_ERRORS_H__
8 #define __WPI_ERRORS_H__
10 #ifdef WPI_ERRORS_DEFINE_STRINGS
11 #define S(label, offset, message) const char *wpi_error_s_##label = message ;
13 #define S(label, offset, message) extern const char *wpi_error_s_##label;
19 S(ModuleIndexOutOfRange, -1,
"Allocating module that is out of range or not found");
20 S(ChannelIndexOutOfRange, -1,
"Allocating channel that is out of range");
21 S(NotAllocated, -2,
"Attempting to free unallocated resource");
22 S(ResourceAlreadyAllocated, -3,
"Attempted to reuse an allocated resource");
23 S(NoAvailableResources, -4,
"No available resources to allocate");
24 S(NullParameter, -5,
"A pointer parameter to a method is NULL");
25 S(Timeout, -6,
"A timeout has been exceeded");
26 S(CompassManufacturerError, -7,
"Compass manufacturer doesn't match HiTechnic");
27 S(CompassTypeError, -8,
"Compass type doesn't match expected type for HiTechnic compass");
28 S(IncompatibleMode, -9,
"The object is in an incompatible mode");
29 S(AnalogTriggerLimitOrderError, -10,
"AnalogTrigger limits error. Lower limit > Upper Limit");
30 S(AnalogTriggerPulseOutputError, -11,
"Attempted to read AnalogTrigger pulse output.");
31 S(TaskError, -12,
"Task can't be started");
32 S(TaskIDError, -13,
"Task error: Invalid ID.");
33 S(TaskDeletedError, -14,
"Task error: Task already deleted.");
34 S(TaskOptionsError, -15,
"Task error: Invalid options.");
35 S(TaskMemoryError, -16,
"Task can't be started due to insufficient memory.");
36 S(TaskPriorityError, -17,
"Task error: Invalid priority [1-255].");
37 S(DriveUninitialized, -18,
"RobotDrive not initialized for the C interface");
38 S(CompressorNonMatching, -19,
"Compressor slot/channel doesn't match previous instance");
39 S(CompressorAlreadyDefined, -20,
"Creating a second compressor instance");
40 S(CompressorUndefined, -21,
"Using compressor functions without defining compressor");
41 S(InconsistentArrayValueAdded, -22,
"When packing data into an array to the dashboard, not all values added were of the same type.");
42 S(MismatchedComplexTypeClose, -23,
"When packing data to the dashboard, a Close for a complex type was called without a matching Open.");
43 S(DashboardDataOverflow, -24,
"When packing data to the dashboard, too much data was packed and the buffer overflowed.");
44 S(DashboardDataCollision, -25,
"The same buffer was used for packing data and for printing.");
45 S(EnhancedIOMissing, -26,
"IO is not attached or Enhanced IO is not enabled.");
46 S(LineNotOutput, -27,
"Cannot SetDigitalOutput for a line not configured for output.");
47 S(ParameterOutOfRange, -28,
"A parameter is out of range.");
48 S(SPIClockRateTooLow, -29,
"SPI clock rate was below the minimum supported");
49 S(JaguarVersionError, -30,
"Jaguar firmware version error");
50 S(NetworkTablesReadError, -40,
"Error reading NetworkTables socket");
51 S(NetworkTablesBufferFull, -41,
"Buffer full writing to NetworkTables socket");
52 S(NetworkTablesWrongType, -42,
"The wrong type was read from the NetworkTables entry");
53 S(NetworkTablesCorrupt, -43,
"NetworkTables data stream is corrupt");
54 S(SmartDashboardMissingKey, -43,
"SmartDashboard data does not exist");
55 S(CommandIllegalUse, -50,
"Illegal use of Command");
60 S(SampleRateTooHigh, 1,
"Analog module sample rate is too high");
61 S(VoltageOutOfRange, 2,
"Voltage to convert to raw value is out of range [-10; 10]");
62 S(CompressorTaskError, 3,
"Compressor task won't start");
63 S(LoopTimingError, 4,
"Digital module loop timing is not the expected value");
64 S(NonBinaryDigitalValue, 5,
"Digital output value is not 0 or 1");
65 S(IncorrectBatteryChannel, 6,
"Battery measurement channel is not correct value");
66 S(BadJoystickIndex, 7,
"Joystick index is out of range, should be 1-4");
67 S(BadJoystickAxis, 8,
"Joystick axis is out of range");
68 S(InvalidMotorIndex, 9,
"Motor index is out of range, should be 0-3");
69 S(DriverStationTaskError, 10,
"Driver Station task won't start");
70 S(EnhancedIOPWMPeriodOutOfRange, 11,
"Driver Station Enhanced IO PWM Output period out of range.");
71 S(SPIWriteNoMOSI, 12,
"Cannot write to SPI port with no MOSI output");
72 S(SPIReadNoMISO, 13,
"Cannot read from SPI port with no MISO input");
73 S(SPIReadNoData, 14,
"No data available to read from SPI");
74 S(IncompatibleState, 15,
"Incompatible State: The operation cannot be completed");
78 #endif // __WPI_ERRORS_H__