Files
allwpilib/hal/src/main/native/sim/ErrorsInternal.h

447 lines
17 KiB
C++

// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
#pragma once
#include <stdint.h>
enum CTR_Code {
CTR_OKAY, // No Error - Function executed as expected
CTR_RxTimeout, // CAN frame has not been received within specified period of
// time.
CTR_TxTimeout, // Not used.
CTR_InvalidParamValue, // Caller passed an invalid param
CTR_UnexpectedArbId, // Specified CAN Id is invalid.
CTR_TxFailed, // Could not transmit the CAN frame.
CTR_SigNotUpdated, // Have not received an value response for signal.
CTR_BufferFull, // Caller attempted to insert data into a buffer that is
// full.
};
// VISA Error
#define _VI_ERROR (-2147483647L - 1)
#define VI_ERROR_SYSTEM_ERROR (_VI_ERROR + 0x3FFF0000L)
#define VI_ERROR_INV_OBJECT (_VI_ERROR + 0x3FFF000EL)
#define VI_ERROR_RSRC_LOCKED (_VI_ERROR + 0x3FFF000FL)
#define VI_ERROR_INV_EXPR (_VI_ERROR + 0x3FFF0010L)
#define VI_ERROR_RSRC_NFOUND (_VI_ERROR + 0x3FFF0011L)
#define VI_ERROR_INV_RSRC_NAME (_VI_ERROR + 0x3FFF0012L)
#define VI_ERROR_INV_ACC_MODE (_VI_ERROR + 0x3FFF0013L)
#define VI_ERROR_TMO (_VI_ERROR + 0x3FFF0015L)
#define VI_ERROR_CLOSING_FAILED (_VI_ERROR + 0x3FFF0016L)
#define VI_ERROR_INV_DEGREE (_VI_ERROR + 0x3FFF001BL)
#define VI_ERROR_INV_JOB_ID (_VI_ERROR + 0x3FFF001CL)
#define VI_ERROR_NSUP_ATTR (_VI_ERROR + 0x3FFF001DL)
#define VI_ERROR_NSUP_ATTR_STATE (_VI_ERROR + 0x3FFF001EL)
#define VI_ERROR_ATTR_READONLY (_VI_ERROR + 0x3FFF001FL)
#define VI_ERROR_INV_LOCK_TYPE (_VI_ERROR + 0x3FFF0020L)
#define VI_ERROR_INV_ACCESS_KEY (_VI_ERROR + 0x3FFF0021L)
#define VI_ERROR_INV_EVENT (_VI_ERROR + 0x3FFF0026L)
#define VI_ERROR_INV_MECH (_VI_ERROR + 0x3FFF0027L)
#define VI_ERROR_HNDLR_NINSTALLED (_VI_ERROR + 0x3FFF0028L)
#define VI_ERROR_INV_HNDLR_REF (_VI_ERROR + 0x3FFF0029L)
#define VI_ERROR_INV_CONTEXT (_VI_ERROR + 0x3FFF002AL)
#define VI_ERROR_QUEUE_OVERFLOW (_VI_ERROR + 0x3FFF002DL)
#define VI_ERROR_NENABLED (_VI_ERROR + 0x3FFF002FL)
#define VI_ERROR_ABORT (_VI_ERROR + 0x3FFF0030L)
#define VI_ERROR_RAW_WR_PROT_VIOL (_VI_ERROR + 0x3FFF0034L)
#define VI_ERROR_RAW_RD_PROT_VIOL (_VI_ERROR + 0x3FFF0035L)
#define VI_ERROR_OUTP_PROT_VIOL (_VI_ERROR + 0x3FFF0036L)
#define VI_ERROR_INP_PROT_VIOL (_VI_ERROR + 0x3FFF0037L)
#define VI_ERROR_BERR (_VI_ERROR + 0x3FFF0038L)
#define VI_ERROR_IN_PROGRESS (_VI_ERROR + 0x3FFF0039L)
#define VI_ERROR_INV_SETUP (_VI_ERROR + 0x3FFF003AL)
#define VI_ERROR_QUEUE_ERROR (_VI_ERROR + 0x3FFF003BL)
#define VI_ERROR_ALLOC (_VI_ERROR + 0x3FFF003CL)
#define VI_ERROR_INV_MASK (_VI_ERROR + 0x3FFF003DL)
#define VI_ERROR_IO (_VI_ERROR + 0x3FFF003EL)
#define VI_ERROR_INV_FMT (_VI_ERROR + 0x3FFF003FL)
#define VI_ERROR_NSUP_FMT (_VI_ERROR + 0x3FFF0041L)
#define VI_ERROR_LINE_IN_USE (_VI_ERROR + 0x3FFF0042L)
#define VI_ERROR_NSUP_MODE (_VI_ERROR + 0x3FFF0046L)
#define VI_ERROR_SRQ_NOCCURRED (_VI_ERROR + 0x3FFF004AL)
#define VI_ERROR_INV_SPACE (_VI_ERROR + 0x3FFF004EL)
#define VI_ERROR_INV_OFFSET (_VI_ERROR + 0x3FFF0051L)
#define VI_ERROR_INV_WIDTH (_VI_ERROR + 0x3FFF0052L)
#define VI_ERROR_NSUP_OFFSET (_VI_ERROR + 0x3FFF0054L)
#define VI_ERROR_NSUP_VAR_WIDTH (_VI_ERROR + 0x3FFF0055L)
#define VI_ERROR_WINDOW_NMAPPED (_VI_ERROR + 0x3FFF0057L)
#define VI_ERROR_RESP_PENDING (_VI_ERROR + 0x3FFF0059L)
#define VI_ERROR_NLISTENERS (_VI_ERROR + 0x3FFF005FL)
#define VI_ERROR_NCIC (_VI_ERROR + 0x3FFF0060L)
#define VI_ERROR_NSYS_CNTLR (_VI_ERROR + 0x3FFF0061L)
#define VI_ERROR_NSUP_OPER (_VI_ERROR + 0x3FFF0067L)
#define VI_ERROR_INTR_PENDING (_VI_ERROR + 0x3FFF0068L)
#define VI_ERROR_ASRL_PARITY (_VI_ERROR + 0x3FFF006AL)
#define VI_ERROR_ASRL_FRAMING (_VI_ERROR + 0x3FFF006BL)
#define VI_ERROR_ASRL_OVERRUN (_VI_ERROR + 0x3FFF006CL)
#define VI_ERROR_TRIG_NMAPPED (_VI_ERROR + 0x3FFF006EL)
#define VI_ERROR_NSUP_ALIGN_OFFSET (_VI_ERROR + 0x3FFF0070L)
#define VI_ERROR_USER_BUF (_VI_ERROR + 0x3FFF0071L)
#define VI_ERROR_RSRC_BUSY (_VI_ERROR + 0x3FFF0072L)
#define VI_ERROR_NSUP_WIDTH (_VI_ERROR + 0x3FFF0076L)
#define VI_ERROR_INV_PARAMETER (_VI_ERROR + 0x3FFF0078L)
#define VI_ERROR_INV_PROT (_VI_ERROR + 0x3FFF0079L)
#define VI_ERROR_INV_SIZE (_VI_ERROR + 0x3FFF007BL)
#define VI_ERROR_WINDOW_MAPPED (_VI_ERROR + 0x3FFF0080L)
#define VI_ERROR_NIMPL_OPER (_VI_ERROR + 0x3FFF0081L)
#define VI_ERROR_INV_LENGTH (_VI_ERROR + 0x3FFF0083L)
#define VI_ERROR_INV_MODE (_VI_ERROR + 0x3FFF0091L)
#define VI_ERROR_SESN_NLOCKED (_VI_ERROR + 0x3FFF009CL)
#define VI_ERROR_MEM_NSHARED (_VI_ERROR + 0x3FFF009DL)
#define VI_ERROR_LIBRARY_NFOUND (_VI_ERROR + 0x3FFF009EL)
#define VI_ERROR_NSUP_INTR (_VI_ERROR + 0x3FFF009FL)
#define VI_ERROR_INV_LINE (_VI_ERROR + 0x3FFF00A0L)
#define VI_ERROR_FILE_ACCESS (_VI_ERROR + 0x3FFF00A1L)
#define VI_ERROR_FILE_IO (_VI_ERROR + 0x3FFF00A2L)
#define VI_ERROR_NSUP_LINE (_VI_ERROR + 0x3FFF00A3L)
#define VI_ERROR_NSUP_MECH (_VI_ERROR + 0x3FFF00A4L)
#define VI_ERROR_INTF_NUM_NCONFIG (_VI_ERROR + 0x3FFF00A5L)
#define VI_ERROR_CONN_LOST (_VI_ERROR + 0x3FFF00A6L)
#define VI_ERROR_MACHINE_NAVAIL (_VI_ERROR + 0x3FFF00A7L)
#define VI_ERROR_NPERMISSION (_VI_ERROR + 0x3FFF00A8L)
// FPGA Errors
/**
* Represents the resulting status of a function call through its return value.
* 0 is success, negative values are errors, and positive values are warnings.
*/
using NiFpga_Status = int32_t; // NOLINT
/**
* No errors or warnings.
*/
constexpr NiFpga_Status NiFpga_Status_Success = 0;
/**
* The timeout expired before the FIFO operation could complete.
*/
constexpr NiFpga_Status NiFpga_Status_FifoTimeout = -50400;
/**
* No transfer is in progress because the transfer was aborted by the client.
* The operation could not be completed as specified.
*/
constexpr NiFpga_Status NiFpga_Status_TransferAborted = -50405;
/**
* A memory allocation failed. Try again after rebooting.
*/
constexpr NiFpga_Status NiFpga_Status_MemoryFull = -52000;
/**
* An unexpected software error occurred.
*/
constexpr NiFpga_Status NiFpga_Status_SoftwareFault = -52003;
/**
* A parameter to a function was not valid. This could be a NULL pointer, a bad
* value, etc.
*/
constexpr NiFpga_Status NiFpga_Status_InvalidParameter = -52005;
/**
* A required resource was not found. The NiFpga.* library, the RIO resource, or
* some other resource may be missing.
*/
constexpr NiFpga_Status NiFpga_Status_ResourceNotFound = -52006;
/**
* A required resource was not properly initialized. This could occur if
* NiFpga_Initialize was not called or a required NiFpga_IrqContext was not
* reserved.
*/
constexpr NiFpga_Status NiFpga_Status_ResourceNotInitialized = -52010;
/**
* A hardware failure has occurred. The operation could not be completed as
* specified.
*/
constexpr NiFpga_Status NiFpga_Status_HardwareFault = -52018;
/**
* The FPGA is already running.
*/
constexpr NiFpga_Status NiFpga_Status_FpgaAlreadyRunning = -61003;
/**
* An error occurred downloading the VI to the FPGA device. Verify that
* the target is connected and powered and that the resource of the target
* is properly configured.
*/
constexpr NiFpga_Status NiFpga_Status_DownloadError = -61018;
/**
* The bitfile was not compiled for the specified resource's device type.
*/
constexpr NiFpga_Status NiFpga_Status_DeviceTypeMismatch = -61024;
/**
* An error was detected in the communication between the host computer and the
* FPGA target.
*/
constexpr NiFpga_Status NiFpga_Status_CommunicationTimeout = -61046;
/**
* The timeout expired before any of the IRQs were asserted.
*/
constexpr NiFpga_Status NiFpga_Status_IrqTimeout = -61060;
/**
* The specified bitfile is invalid or corrupt.
*/
constexpr NiFpga_Status NiFpga_Status_CorruptBitfile = -61070;
/**
* The requested FIFO depth is invalid. It is either 0 or an amount not
* supported by the hardware.
*/
constexpr NiFpga_Status NiFpga_Status_BadDepth = -61072;
/**
* The number of FIFO elements is invalid. Either the number is greater than the
* depth of the host memory DMA FIFO, or more elements were requested for
* release than had been acquired.
*/
constexpr NiFpga_Status NiFpga_Status_BadReadWriteCount = -61073;
/**
* A hardware clocking error occurred. A derived clock lost lock with its base
* clock during the execution of the LabVIEW FPGA VI. If any base clocks with
* derived clocks are referencing an external source, make sure that the
* external source is connected and within the supported frequency, jitter,
* accuracy, duty cycle, and voltage specifications. Also verify that the
* characteristics of the base clock match the configuration specified in the
* FPGA Base Clock Properties. If all base clocks with derived clocks are
* generated from free-running, on-board sources, please contact National
* Instruments technical support at ni.com/support.
*/
constexpr NiFpga_Status NiFpga_Status_ClockLostLock = -61083;
/**
* The operation could not be performed because the FPGA is busy. Stop all
* activities on the FPGA before requesting this operation. If the target is in
* Scan Interface programming mode, put it in FPGA Interface programming mode.
*/
constexpr NiFpga_Status NiFpga_Status_FpgaBusy = -61141;
/**
* The operation could not be performed because the FPGA is busy operating in
* FPGA Interface C API mode. Stop all activities on the FPGA before requesting
* this operation.
*/
constexpr NiFpga_Status NiFpga_Status_FpgaBusyFpgaInterfaceCApi = -61200;
/**
* The chassis is in Scan Interface programming mode. In order to run FPGA VIs,
* you must go to the chassis properties page, select FPGA programming mode, and
* deploy settings.
*/
constexpr NiFpga_Status NiFpga_Status_FpgaBusyScanInterface = -61201;
/**
* The operation could not be performed because the FPGA is busy operating in
* FPGA Interface mode. Stop all activities on the FPGA before requesting this
* operation.
*/
constexpr NiFpga_Status NiFpga_Status_FpgaBusyFpgaInterface = -61202;
/**
* The operation could not be performed because the FPGA is busy operating in
* Interactive mode. Stop all activities on the FPGA before requesting this
* operation.
*/
constexpr NiFpga_Status NiFpga_Status_FpgaBusyInteractive = -61203;
/**
* The operation could not be performed because the FPGA is busy operating in
* Emulation mode. Stop all activities on the FPGA before requesting this
* operation.
*/
constexpr NiFpga_Status NiFpga_Status_FpgaBusyEmulation = -61204;
/**
* LabVIEW FPGA does not support the Reset method for bitfiles that allow
* removal of implicit enable signals in single-cycle Timed Loops.
*/
constexpr NiFpga_Status NiFpga_Status_ResetCalledWithImplicitEnableRemoval =
-61211;
/**
* LabVIEW FPGA does not support the Abort method for bitfiles that allow
* removal of implicit enable signals in single-cycle Timed Loops.
*/
constexpr NiFpga_Status NiFpga_Status_AbortCalledWithImplicitEnableRemoval =
-61212;
/**
* LabVIEW FPGA does not support Close and Reset if Last Reference for bitfiles
* that allow removal of implicit enable signals in single-cycle Timed Loops.
* Pass the NiFpga_CloseAttribute_NoResetIfLastSession attribute to NiFpga_Close
* instead of 0.
*/
constexpr NiFpga_Status
NiFpga_Status_CloseAndResetCalledWithImplicitEnableRemoval = -61213;
/**
* For bitfiles that allow removal of implicit enable signals in single-cycle
* Timed Loops, LabVIEW FPGA does not support this method prior to running the
* bitfile.
*/
constexpr NiFpga_Status NiFpga_Status_ImplicitEnableRemovalButNotYetRun =
-61214;
/**
* Bitfiles that allow removal of implicit enable signals in single-cycle Timed
* Loops can run only once. Download the bitfile again before re-running the VI.
*/
constexpr NiFpga_Status
NiFpga_Status_RunAfterStoppedCalledWithImplicitEnableRemoval = -61215;
/**
* A gated clock has violated the handshaking protocol. If you are using
* external gated clocks, ensure that they follow the required clock gating
* protocol. If you are generating your clocks internally, please contact
* National Instruments Technical Support.
*/
constexpr NiFpga_Status NiFpga_Status_GatedClockHandshakingViolation = -61216;
/**
* The number of elements requested must be less than or equal to the number of
* unacquired elements left in the host memory DMA FIFO. There are currently
* fewer unacquired elements left in the FIFO than are being requested. Release
* some acquired elements before acquiring more elements.
*/
constexpr NiFpga_Status NiFpga_Status_ElementsNotPermissibleToBeAcquired =
-61219;
/**
* The operation could not be performed because the FPGA is in configuration or
* discovery mode. Wait for configuration or discovery to complete and retry
* your operation.
*/
constexpr NiFpga_Status NiFpga_Status_FpgaBusyConfiguration = -61252;
/**
* An unexpected internal error occurred.
*/
constexpr NiFpga_Status NiFpga_Status_InternalError = -61499;
/**
* The NI-RIO driver was unable to allocate memory for a FIFO. This can happen
* when the combined depth of all DMA FIFOs exceeds the maximum depth for the
* controller, or when the controller runs out of system memory. You may be able
* to reconfigure the controller with a greater maximum FIFO depth. For more
* information, refer to the NI KnowledgeBase article 65OF2ERQ.
*/
constexpr NiFpga_Status NiFpga_Status_TotalDmaFifoDepthExceeded = -63003;
/**
* Access to the remote system was denied. Use MAX to check the Remote Device
* Access settings under Software>>NI-RIO>>NI-RIO Settings on the remote system.
*/
constexpr NiFpga_Status NiFpga_Status_AccessDenied = -63033;
/**
* The NI-RIO software on the host is not compatible with the software on the
* target. Upgrade the NI-RIO software on the host in order to connect to this
* target.
*/
constexpr NiFpga_Status NiFpga_Status_HostVersionMismatch = -63038;
/**
* A connection could not be established to the specified remote device. Ensure
* that the device is on and accessible over the network, that NI-RIO software
* is installed, and that the RIO server is running and properly configured.
*/
constexpr NiFpga_Status NiFpga_Status_RpcConnectionError = -63040;
/**
* The RPC session is invalid. The target may have reset or been rebooted. Check
* the network connection and retry the operation.
*/
constexpr NiFpga_Status NiFpga_Status_RpcSessionError = -63043;
/**
* The operation could not complete because another session is accessing the
* FIFO. Close the other session and retry.
*/
constexpr NiFpga_Status NiFpga_Status_FifoReserved = -63082;
/**
* A Configure FIFO, Stop FIFO, Read FIFO, or Write FIFO function was called
* while the host had acquired elements of the FIFO. Release all acquired
* elements before configuring, stopping, reading, or writing.
*/
constexpr NiFpga_Status NiFpga_Status_FifoElementsCurrentlyAcquired = -63083;
/**
* A function was called using a misaligned address. The address must be a
* multiple of the size of the datatype.
*/
constexpr NiFpga_Status NiFpga_Status_MisalignedAccess = -63084;
/**
* The FPGA Read/Write Control Function is accessing a control or indicator
* with data that exceeds the maximum size supported on the current target.
* Refer to the hardware documentation for the limitations on data types for
* this target.
*/
constexpr NiFpga_Status NiFpga_Status_ControlOrIndicatorTooLarge = -63085;
/**
* A valid .lvbitx bitfile is required. If you are using a valid .lvbitx
* bitfile, the bitfile may not be compatible with the software you are using.
* Determine which version of LabVIEW was used to make the bitfile, update your
* software to that version or later, and try again.
*/
constexpr NiFpga_Status NiFpga_Status_BitfileReadError = -63101;
/**
* The specified signature does not match the signature of the bitfile. If the
* bitfile has been recompiled, regenerate the C API and rebuild the
* application.
*/
constexpr NiFpga_Status NiFpga_Status_SignatureMismatch = -63106;
/**
* The bitfile you are trying to use is incompatible with the version
* of NI-RIO installed on the target and/or host. Update the version
* of NI-RIO on the target and/or host to the same version (or later)
* used to compile the bitfile. Alternatively, recompile the bitfile
* with the same version of NI-RIO that is currently installed on the
* target and/or host.
*/
constexpr NiFpga_Status NiFpga_Status_IncompatibleBitfile = -63107;
/**
* Either the supplied resource name is invalid as a RIO resource name, or the
* device was not found. Use MAX to find the proper resource name for the
* intended device.
*/
constexpr NiFpga_Status NiFpga_Status_InvalidResourceName = -63192;
/**
* The requested feature is not supported.
*/
constexpr NiFpga_Status NiFpga_Status_FeatureNotSupported = -63193;
/**
* The NI-RIO software on the target system is not compatible with this
* software. Upgrade the NI-RIO software on the target system.
*/
constexpr NiFpga_Status NiFpga_Status_VersionMismatch = -63194;
/**
* The session is invalid or has been closed.
*/
constexpr NiFpga_Status NiFpga_Status_InvalidSession = -63195;
/**
* The maximum number of open FPGA sessions has been reached. Close some open
* sessions.
*/
constexpr NiFpga_Status NiFpga_Status_OutOfHandles = -63198;