"""Error codes returned by PI GCS-enabled instruments."""

# Source: SM158E Software Manual PI GCS2 Driver Library for NI LabVIEW, release: 7.0.1, date: 2021-03-03

# Controller errors
GCS_CONTROLLER_ERROR_CODES = {
    0: "PI_CNTR_NO_ERROR",
    1: "PI_CNTR_PARAM_SYNTAX",
    2: "PI_CNTR_UNKNOWN_COMMAND",
    3: "PI_CNTR_COMMAND_TOO_LONG",
    4: "PI_CNTR_SCAN_ERROR",
    5: "PI_CNTR_MOVE_WITHOUT_REF_OR_NO_SERVO",
    6: "PI_CNTR_INVALID_SGA_PARAM",
    7: "PI_CNTR_POS_OUT_OF_LIMITS",
    8: "PI_CNTR_VEL_OUT_OF_LIMITS",
    9: "PI_CNTR_SET_PIVOT_NOT_POSSIBLE",
    10: "PI_CNTR_STOP",
    11: "PI_CNTR_SST_OR_SCAN_RANGE",
    12: "PI_CNTR_INVALID_SCAN_AXES",
    13: "PI_CNTR_INVALID_NAV_PARAM",
    14: "PI_CNTR_INVALID_ANALOG_INPUT",
    15: "PI_CNTR_INVALID_AXIS_IDENTIFIER",
    16: "PI_CNTR_INVALID_STAGE_NAME",
    17: "PI_CNTR_PARAM_OUT_OF_RANGE",
    18: "PI_CNTR_INVALID_MACRO_NAME",
    19: "PI_CNTR_MACRO_RECORD",
    20: "PI_CNTR_MACRO_NOT_FOUND",
    21: "PI_CNTR_AXIS_HAS_NO_BRAKE",
    22: "PI_CNTR_DOUBLE_AXIS",
    23: "PI_CNTR_ILLEGAL_AXIS",
    24: "PI_CNTR_PARAM_NR",
    25: "PI_CNTR_INVALID_REAL_NR",
    26: "PI_CNTR_MISSING_PARAM",
    27: "PI_CNTR_SOFT_LIMIT_OUT_OF_RANGE",
    28: "PI_CNTR_NO_MANUAL_PAD",
    29: "PI_CNTR_NO_JUMP",
    30: "PI_CNTR_INVALID_JUMP",
    31: "PI_CNTR_AXIS_HAS_NO_REFERENCE",
    32: "PI_CNTR_STAGE_HAS_NO_LIM_SWITCH",
    33: "PI_CNTR_NO_RELAY_CARD",
    34: "PI_CNTR_CMD_NOT_ALLOWED_FOR_STAGE",
    35: "PI_CNTR_NO_DIGITAL_INPUT",
    36: "PI_CNTR_NO_DIGITAL_OUTPUT",
    37: "PI_CNTR_NO_MCM",
    38: "PI_CNTR_INVALID_MCM",
    39: "PI_CNTR_INVALID_CNTR_NUMBER",
    40: "PI_CNTR_NO_JOYSTICK_CONNECTED",
    41: "PI_CNTR_INVALID_EGE_AXIS",
    42: "PI_CNTR_SLAVE_POSITION_OUT_OF_RANGE",
    43: "PI_CNTR_COMMAND_EGE_SLAVE",
    44: "PI_CNTR_JOYSTICK_CALIBRATION_FAILED",
    45: "PI_CNTR_REFERENCING_FAILED",
    46: "PI_CNTR_OPM_MISSING",
    47: "PI_CNTR_OPM_NOT_INITIALIZED",
    48: "PI_CNTR_OPM_COM_ERROR",
    49: "PI_CNTR_MOVE_TO_LIMIT_SWITCH_FAILED",
    50: "PI_CNTR_REF_WITH_REF_DISABLED",
    51: "PI_CNTR_AXIS_UNDER_JOYSTICK_CONTROL",
    52: "PI_CNTR_COMMUNICATION_ERROR",
    53: "PI_CNTR_DYNAMIC_MOVE_IN_PROGRESS",
    54: "PI_CNTR_UNKNOWN_PARAMETER",
    55: "PI_CNTR_NO_REP_RECORDED",
    56: "PI_CNTR_INVALID_PASSWORD",
    57: "PI_CNTR_INVALID_RECORDER_CHAN",
    58: "PI_CNTR_INVALID_RECORDER_SRC_OPT",
    59: "PI_CNTR_INVALID_RECORDER_SRC_CHAN",
    60: "PI_CNTR_PARAM_PROTECTION",
    61: "PI_CNTR_AUTOZERO_RUNNING",
    62: "PI_CNTR_NO_LINEAR_AXIS",
    63: "PI_CNTR_INIT_RUNNING",
    64: "PI_CNTR_READ_ONLY_PARAMETER",
    65: "PI_CNTR_PAM_NO_FOUND",
    66: "PI_CNTR_VOL_OUT_OF_LIMITS",
    67: "PI_CNTR_WAVE_TOO_LARGE",
    68: "PI_CNTR_NOT_ENOUGH_DDL_MEMORY",
    69: "PI_CNTR_DDL_TIME_DELAY_TOO_LARGE",
    70: "PI_CNTR_DIFFERENT_ARRAY_LENGTH",
    71: "PI_CNTR_GEN_SINGLE_MODE_RESTART",
    72: "PI_CNTR_ANALOG_TARGET_ACTIVE",
    73: "PI_CNTR_WAVE_GENERATOR_ACTIVE",
    74: "PI_CNTR_AUTOZERO_DISABLED",
    75: "PI_CNTR_NO_WAVE_SELECTED",
    76: "PI_CNTR_IF_BUFFER_OVERRUN",
    77: "PI_CNTR_NOT_ENOUGH_RECORDED_DATA",
    78: "PI_CNTR_TABLE_DEACTIVATED",
    79: "PI_CNTR_OPENLOOP_VALUE_SE_WHEN_SERVO_ON",
    80: "PI_CNTR_RAM_ERROR",
    81: "PI_CNTR_MACRO_UNKNOWN_COMMAND",
    82: "PI_CNTR_MACRO_PC_ERROR",
    83: "PI_CNTR_JOYSTICK_ACTIVE",
    84: "PI_CNTR_MOTOR_IS_OFF",
    85: "PI_CNTR_ONLY_IN_MACRO",
    86: "PI_CNTR_JOYSTCIK_UNKNOWN_AXIS",
    87: "PI_CNTR_JOYSTICK_UNKNOWN_ID",
    88: "PI_CNTR_REF_MODE_IS_ON",
    89: "PI_CNTR_NOT_ALLOWED_IN_CURRENT_MOTION_MODE",
    90: "PI_CNTR_DIO_AND_TRACING_NOT_POSSIBLE",
    91: "PI_CNTR_COLLISION",
    92: "PI_CNTR_SLAVE_NOT_FAST_ENOUGH",
    93: "PI_CNTR_COMMAND_NOT_ALLOWED_WHILE_AXIS_IN_MOTION",
    94: "PI_CNTR_OPEN_LOOP_JOYSTICK_ENABLED",
    95: "PI_CNTR_INVALID_SERVO_STATE_FOR_PARAMETER",
    96: "PI_CNTR_UNKNOWN_STAGE_NAME",
    97: "PI_CNTR_INVALID_VALUE_LENGTH",
    98: "PI_CNTR_AUTOZERO_FAILED",
    99: "PI_CNTR_SENSOR_VOLTAGE_OFF",
    100: "PI_LABVIEW_ERROR",
    200: "PI_CNTR_NO_AXIS",
    201: "PI_CNTR_NO_AXIS_PARAM_FILE",
    202: "PI_CNTR_INVALID_AXIS_PARAM_FILE",
    203: "PI_CNTR_NO_AXIS_PARAM_BACKUP",
    204: "PI_CNTR_RESERVED_204",
    205: "PI_CNTR_SMO_WITH_SERVO_ON",
    206: "PI_CNTR_UUDECODE_INCOMPLETE_HEADER",
    207: "PI_CNTR_UUDECODE_NOTHING_TO_DECODE",
    208: "PI_CNTR_UUDECODE_ILLEGAL_FORMAT",
    209: "PI_CNTR_CRC32_ERROR",
    210: "PI_CNTR_ILLEGAL_FILENAME",
    211: "PI_CNTR_FILE_NOT_FOUND",
    212: "PI_CNTR_FILE_WRITE_ERROR",
    213: "PI_CNTR_DTR_HINDERS_VELOCITY_CHANGE",
    214: "PI_CNTR_POSITION_UNKNOWN",
    215: "PI_CNTR_CONN_POSSIBLY_BROKEN",
    216: "PI_CNTR_ON_LIMIT_SWITCH",
    217: "PI_CNTR_UNEXPECTED_STRUT_STOP",
    218: "PI_CNTR_POSITION_BASED_ON_ESTIMATION",
    219: "PI_CNTR_POSITION_BASED_ON_INTERPOLATION",
    220: "PI_CNTR_INTERPOLATION_FIFO_UNDERRUN",
    221: "PI_CNTR_INTERPOLATION_FIFO_OVERFLOW",
    230: "PI_CNTR_INVALID_HANDLE",
    231: "PI_CNTR_NO_BIOS_FOUND",
    232: "PI_CNTR_SAVE_SYS_CFG_FAILED",
    233: "PI_CNTR_LOAD_SYS_CFG_FAILED",
    301: "PI_CNTR_SEND_BUFFER_OVERFLOW",
    302: "PI_CNTR_VOLTAGE_OUT_OF_LIMITS",
    303: "PI_CNTR_OPEN_LOOP_MOTION_SET_WHEN_SERVO_ON",
    304: "PI_CNTR_RECEIVING_BUFFER_OVERFLOW",
    305: "PI_CNTR_EEPROM_ERROR",
    306: "PI_CNTR_I2C_ERROR",
    307: "PI_CNTR_RECEIVING_TIMEOUT",
    308: "PI_CNTR_TIMEOUT",
    309: "PI_CNTR_MACRO_OUT_OF_SPACE",
    310: "PI_CNTR_EUI_OLDVERSION_CFGDATA",
    311: "PI_CNTR_EUI_INVALID_CFGDATA",
    333: "PI_CNTR_HARDWARE_ERROR",
    400: "PI_CNTR_WAV_INDEX_ERROR",
    401: "PI_CNTR_WAV_NOT_DEFINED",
    402: "PI_CNTR_WAV_TYPE_NOT_SUPPORTED",
    403: "PI_CNTR_WAV_LENGTH_EXCEEDS_LIMIT",
    404: "PI_CNTR_WAV_PARAMETER_NR",
    405: "PI_CNTR_WAV_PARAMETER_OUT_OF_LIMIT",
    406: "PI_CNTR_WGO_BIT_NOT_SUPPORTED",
    500: "PI_CNTR_EMERGENCY_STOP_BUTTON_ACTIVATED",
    501: "PI_CNTR_EMERGENCY_STOP_BUTTON_WAS_ACTIVATED",
    502: "PI_CNTR_REDUNDANCY_LIMIT_EXCEEDED",
    503: "PI_CNTR_COLLISION_SWITCH_ACTIVATED",
    504: "PI_CNTR_FOLLOWING_ERROR",
    505: "PI_CNTR_SENSOR_SIGNAL_INVALID",
    506: "PI_CNTR_SERVO_LOOP_UNSTABLE",
    507: "PI_CNTR_LOST_SPI_SLAVE_CONNECTION",
    508: "PI_CNTR_MOVE_ATTEMPT_NOT_PERMITTED",
    509: "PI_CNTR_TRIGGER_EMERGENCY_STOP",
    530: "PI_CNTR_CS_DOES_NOT_EXIST",
    531: "PI_CNTR_PARENT_CS_DOES_NOT_EXIST",
    532: "PI_CNTR_CS_IN_USE",
    533: "PI_CNTR_CS_DEFINITION_IS_CYCLIC",
    536: "PI_CNTR_HEXAPOD_IN_MOTION",
    537: "PI_CNTR_CS_TYPE_CANNOT_BE_ENABLED",
    539: "PI_CNTR_CS_PARENT_IDENTICAL_TO_CHILD",
    540: "PI_CNTR_CS_DEFINITION_INCONSISTENT",
    542: "PI_CNTR_CS_NOT_IN_SAME_CHAIN",
    543: "PI_CNTR_CS_MEMORY_FULL",
    544: "PI_CNTR_SPI_COMMAND_NOT_SUPPORTED",
    545: "PI_CNTR_SOFTLIMITS_INVALID",
    546: "PI_CNTR_CS_WRITE_PROTECTED",
    547: "PI_CNTR_CS_CONTENT_FROM_CONFIG_FILE",
    548: "PI_CNTR_CS_CANNOT_BE_LINKED",
    549: "PI_CNTR_KSB_CS_ROTATION_ONLY",
    551: "PI_CNTR_CS_DATA_CANNOT_BE_QUERIED",
    552: "PI_CNTR_CS_COMBINATION_DOES_NOT_EXIST",
    553: "PI_CNTR_CS_COMBINATION_INVALID",
    554: "PI_CNTR_CS_TYPE_DOES_NOT_EXIST",
    555: "PI_CNTR_UNKNOWN_ERROR",
    556: "PI_CNTR_CS_TYPE_NOT_ENABLED",
    557: "PI_CNTR_CS_NAME_INVALID",
    558: "PI_CNTR_CS_GENERAL_FILE_MISSING",
    559: "PI_CNTR_CS_LEVELING_FILE_MISSING",
    601: "PI_CNTR_NOT_ENOUGH_MEMORY",
    602: "PI_CNTR_HW_VOLTAGE_ERROR",
    603: "PI_CNTR_HW_TEMPERATURE_ERROR",
    604: "PI_CNTR_POSITION_ERROR_TOO_HIGH",
    606: "PI_CNTR_INPUT_OUT_OF_RANGE",
    607: "PI_CNTR_NO_INTEGER",
    608: "PI_CNTR_FAST_ALIGNMENT_PROCESS_IS_NOT_RUNNING",
    609: "PI_CNTR_FAST_ALIGNMENT_PROCESS_IS_NOT_PAUSED",
    650: "PI_CNTR_UNABLE_TO_SET_PARAM_WITH_SPA",
    651: "PI_CNTR_PHASE_FINDING_ERROR",
    652: "PI_CNTR_SENSOR_SETUP_ERROR",
    653: "PI_CNTR_SENSOR_COMM_ERROR",
    654: "PI_CNTR_MOTOR_AMPLIFIER_ERROR",
    655: "PI_CNTR_OVER_CURR_PROTEC_TRIGGERED_BY_I2T",
    656: "PI_CNTR_OVER_CURR_PROTEC_TRIGGERED_BY_AMP_MODULE",
    657: "PI_CNTR_SAFETY_STOP_TRIGGERED",
    658: "PI_SENSOR_OFF",
    700: "PI_CNTR_COMMAND_NOT_ALLOWED_IN_EXTERNAL_MODE",
    710: "PI_CNTR_EXTERNAL_MODE_ERROR",
    715: "PI_CNTR_INVALID_MODE_OF_OPERATION",
    716: "PI_CNTR_FIRMWARE_STOPPED_BY_CMD",
    717: "PI_CNTR_EXTERNAL_MODE_DRIVER_MISSING",
    718: "PI_CNTR_CONFIGURATION_FAILURE_EXTERNAL_MODE",
    719: "PI_CNTR_EXTERNAL_MODE_CYCLETIME_INVALID",
    720: "PI_CNTR_BRAKE_ACTIVATED",
    731: "PI_CNTR_SURFACEDETECTION_RUNNING",
    732: "PI_CNTR_SURFACEDETECTION_FAILED",
    733: "PI_CNTR_FIELDBUS_IS_ACTIVE",
    1000: "PI_CNTR_TOO_MANY_NESTED_MACROS",
    1001: "PI_CNTR_MACRO_ALREADY_DEFINED",
    1002: "PI_CNTR_NO_MACRO_RECORDING",
    1003: "PI_CNTR_INVALID_MAC_PARAM",
    1004: "PI_CNTR_MACRO_DELETE_ERROR",
    1005: "PI_CNTR_CONTROLLER_BUSY",
    1006: "PI_CNTR_INVALID_IDENTIFIER",
    1007: "PI_CNTR_UNKNOWN_VARIABLE_OR_ARGUMENT",
    1008: "PI_CNTR_RUNNING_MACRO",
    1009: "PI_CNTR_MACRO_INVALID_OPERATOR",
    1010: "PI_CNTR_MACRO_NO_ANSWER",
    1011: "PI_CMD_NOT_VALID_IN_MACRO_MODE",
    1012: "PI_CNTR_ERROR_IN_MACRO",
    1024: "PI_CNTR_MOTION_ERROR",
    1025: "PI_CNTR_MAX_MOTOR_OUTPUT_REACHED",
    1063: "PI_CNTR_EXT_PROFILE_UNALLOWED_CMD",
    1064: "PI_CNTR_EXT_PROFILE_EXPECTING_MOTION_ERROR",
    1065: "PI_CNTR_PROFILE_ACTIVE",
    1066: "PI_CNTR_PROFILE_INDEX_OUT_OF_RANGE",
    1071: "PI_CNTR_PROFILE_OUT_OF_MEMORY",
    1072: "PI_CNTR_PROFILE_WRONG_CLUSTER",
    1073: "PI_CNTR_PROFILE_UNKNOWN_CLUSTER_IDENTIFIER",
    1090: "PI_CNTR_TOO_MANY_TCP_CONNECTIONS_OPEN",
    2000: "PI_CNTR_ALREADY_HAS_SERIAL_NUMBER",
    4000: "PI_CNTR_SECTOR_ERASE_FAILED",
    4001: "PI_CNTR_FLASH_PROGRAM_FAILED",
    4002: "PI_CNTR_FLASH_READ_FAILED",
    4003: "PI_CNTR_HW_MATCHCODE_ERROR",
    4004: "PI_CNTR_FW_MATCHCODE_ERROR",
    4005: "PI_CNTR_HW_VERSION_ERROR",
    4006: "PI_CNTR_FW_VERSION_ERROR",
    4007: "PI_CNTR_FW_UPDATE_ERROR",
    4008: "PI_CNTR_FW_CRC_PAR_ERROR",
    4009: "PI_CNTR_FW_CRC_FW_ERROR",
    5000: "PI_CNTR_INVALID_PCC_SCAN_DATA",
    5001: "PI_CNTR_PCC_SCAN_RUNNING",
    5002: "PI_CNTR_INVALID_PCC_AXIS",
    5003: "PI_CNTR_PCC_SCAN_OUT_OF_RANGE",
    5004: "PI_CNTR_PCC_TYPE_NOT_EXISTING",
    5005: "PI_CNTR_PCC_PAM_ERROR",
    5006: "PI_CNTR_PCC_TABLE_ARRAY_TOO_LARGE",
    5100: "PI_CNTR_NEXLINE_ERROR",
    5101: "PI_CNTR_CHANNEL_ALREADY_USED",
    5102: "PI_CNTR_NEXLINE_TABLE_TOO_SMALL",
    5103: "PI_CNTR_RNP_WITH_SERVO_ON",
    5104: "PI_CNTR_RNP_NEEDED",
    5200: "PI_CNTR_AXIS_NOT_CONFIGURED",
    5300: "PI_CNTR_FREQU_ANALYSIS_FAILED",
    5301: "PI_CNTR_FREQU_ANALYSIS_RUNNING",
    6000: "PI_CNTR_SENSOR_ABS_INVALID_VALUE",
    6001: "PI_CNTR_SENSOR_ABS_WRITE_ERROR",
    6002: "PI_CNTR_SENSOR_ABS_READ_ERROR",
    6003: "PI_CNTR_SENSOR_ABS_CRC_ERROR",
    6004: "PI_CNTR_SENSOR_ABS_ERROR",
    6005: "PI_CNTR_SENSOR_ABS_OVERFLOW"
}

# Interface errors
GCS_INTERFACE_ERROR_CODES = {
    0: "COM_NO_ERROR",
    -1: "COM_ERROR",
    -2: "SEND_ERROR",
    -3: "REC_ERROR",
    -4: "NOT_CONNECTED_ERROR",
    -5: "COM_BUFFER_OVERFLOW",
    -6: "CONNECTION_FAILED",
    -7: "COM_TIMEOUT",
    -8: "COM_MULTILINE_RESPONSE",
    -9: "COM_INVALID_ID",
    -10: "COM_NOTIFY_EVENT_ERROR",
    -11: "COM_NOT_IMPLEMENTED",
    -12: "COM_ECHO_ERROR",
    -13: "COM_GPIB_EDVR",
    -14: "COM_GPIB_ECIC",
    -15: "COM_GPIB_ENOL",
    -16: "COM_GPIB_EADR",
    -17: "COM_GPIB_EARG",
    -18: "COM_GPIB_ESAC",
    -19: "COM_GPIB_EABO",
    -20: "COM_GPIB_ENEB",
    -21: "COM_GPIB_EDMA",
    -22: "COM_GPIB_EOIP",
    -23: "COM_GPIB_ECAP",
    -24: "COM_GPIB_EFSO",
    -25: "COM_GPIB_EBUS",
    -26: "COM_GPIB_ESTB",
    -27: "COM_GPIB_ESRQ",
    -28: "COM_GPIB_ETAB",
    -29: "COM_GPIB_ECLK",
    -30: "COM_RS_INVALID_DATA_BITS",
    -31: "COM_ERROR_RS_SETTINGS",
    -32: "COM_INTERNAL_RESOURCES_ERROR",
    -33: "COM_DLL_FUNC_ERROR",
    -34: "COM_FTDIUSB_INVALID_HANDLE",
    -35: "COM_FTDIUSB_DEVICE_NOT_FOUND",
    -36: "COM_FTDIUSB_DEVICE_NOT_OPENED",
    -37: "COM_FTDIUSB_IO_ERROR",
    -38: "COM_FTDIUSB_INSUFFICIENT_RESOURCES",
    -39: "COM_FTDIUSB_INVALID_PARAMETER",
    -40: "COM_FTDIUSB_INVALID_BAUD_RATE",
    -41: "COM_FTDIUSB_DEVICE_NOT_OPENED_FOR_ERASE",
    -42: "COM_FTDIUSB_DEVICE_NOT_OPENED_FOR_WRITE",
    -43: "COM_FTDIUSB_FAILED_TO_WRITE_DEVICE",
    -44: "COM_FTDIUSB_EEPROM_READ_FAILED",
    -45: "COM_FTDIUSB_EEPROM_WRITE_FAILED",
    -46: "COM_FTDIUSB_EEPROM_ERASE_FAILED",
    -47: "COM_FTDIUSB_EEPROM_NOT_PRESENT",
    -48: "COM_FTDIUSB_EEPROM_NOT_PROGRAMMED",
    -49: "COM_FTDIUSB_INVALID_ARGS",
    -50: "COM_FTDIUSB_NOT_SUPPORTED",
    -51: "COM_FTDIUSB_OTHER_ERROR",
    -52: "COM_PORT_ALREADY_OPEN",
    -53: "COM_PORT_CHECKSUM_ERROR",
    -54: "COM_SOCKET_NOT_READY",
    -55: "COM_SOCKET_PORT_IN_USE",
    -56: "COM_SOCKET_NOT_CONNECTED",
    -57: "COM_SOCKET_TERMINATED",
    -58: "COM_SOCKET_NO_RESPONSE",
    -59: "COM_SOCKET_INTERRUPTED",
    -60: "COM_PCI_INVALID_ID",
    -61: "COM_PCI_ACCESS_DENIED",
    -62: "COM_SOCKET_HOST_NOT_FOUND",
    -63: "COM_DEVICE_CONNECTED"
}

# DLL errors
GCS_DLL_ERROR_CODES = {
    -1001: "PI_UNKNOWN_AXIS_IDENTIFIER",
    -1002: "PI_NR_NAV_OUT_OF_RANGE",
    -1003: "PI_INVALID_SGA",
    -1004: "PI_UNEXPECTED_RESPONSE",
    -1005: "PI_NO_MANUAL_PAD",
    -1006: "PI_INVALID_MANUAL_PAD_KNOB",
    -1007: "PI_INVALID_MANUAL_PAD_AXIS",
    -1008: "PI_CONTROLLER_BUSY",
    -1009: "PI_THREAD_ERROR",
    -1010: "PI_IN_MACRO_MODE",
    -1011: "PI_NOT_IN_MACRO_MODE",
    -1012: "PI_MACRO_FILE_ERROR",
    -1013: "PI_NO_MACRO_OR_EMPTY",
    -1014: "PI_MACRO_EDITOR_ERROR",
    -1015: "PI_INVALID_ARGUMENT",
    -1016: "PI_AXIS_ALREADY_EXISTS",
    -1017: "PI_INVALID_AXIS_IDENTIFIER",
    -1018: "PI_COM_ARRAY_ERROR",
    -1019: "PI_COM_ARRAY_RANGE_ERROR",
    -1020: "PI_INVALID_SPA_CMD_ID",
    -1021: "PI_NR_AVG_OUT_OF_RANGE",
    -1022: "PI_WAV_SAMPLES_OUT_OF_RANGE",
    -1023: "PI_WAV_FAILED",
    -1024: "PI_MOTION_ERROR",
    -1025: "PI_RUNNING_MACRO",
    -1026: "PI_PZT_CONFIG_FAILED",
    -1027: "PI_PZT_CONFIG_INVALID_PARAMS",
    -1028: "PI_UNKNOWN_CHANNEL_IDENTIFIER",
    -1029: "PI_WAVE_PARAM_FILE_ERROR",
    -1030: "PI_UNKNOWN_WAVE_SET",
    -1031: "PI_WAVE_EDITOR_FUNC_NOT_LOADED",
    -1032: "PI_USER_CANCELLED",
    -1033: "PI_C844_ERROR",
    -1034: "PI_DLL_NOT_LOADED",
    -1035: "PI_PARAMETER_FILE_PROTECTED",
    -1036: "PI_NO_PARAMETER_FILE_OPENED",
    -1037: "PI_STAGE_DOES_NOT_EXIST",
    -1038: "PI_PARAMETER_FILE_ALREADY_OPENED",
    -1039: "PI_PARAMETER_FILE_OPEN_ERROR",
    -1040: "PI_INVALID_CONTROLLER_VERSION",
    -1041: "PI_PARAM_SET_ERROR",
    -1042: "PI_NUMBER_OF_POSSIBLE_WAVES_EXCEEDED",
    -1043: "PI_NUMBER_OF_POSSIBLE_GENERATORS_EXCEEDED",
    -1044: "PI_NO_WAVE_FOR_AXIS_DEFINED",
    -1045: "PI_CANT_STOP_OR_START_WAV",
    -1046: "PI_REFERENCE_ERROR",
    -1047: "PI_REQUIRED_WAVE_NOT_FOUND",
    -1048: "PI_INVALID_SPP_CMD_ID",
    -1049: "PI_STAGE_NAME_ISNT_UNIQUE",
    -1050: "PI_FILE_TRANSFER_BEGIN_MISSING",
    -1051: "PI_FILE_TRANSFER_ERROR_TEMP_FILE",
    -1052: "PI_FILE_TRANSFER_CRC_ERROR",
    -1053: "PI_COULDNT_FIND_PISTAGES_DAT",
    -1054: "PI_NO_WAVE_RUNNING",
    -1055: "PI_INVALID_PASSWORD",
    -1056: "PI_OPM_COM_ERROR",
    -1057: "PI_WAVE_EDITOR_WRONG_PARAMNUM",
    -1058: "PI_WAVE_EDITOR_FREQUENCY_OUT_OF_RANGE",
    -1059: "PI_WAVE_EDITOR_WRONG_IP_VALUE",
    -1060: "PI_WAVE_EDITOR_WRONG_DP_VALUE",
    -1061: "PI_WAVE_EDITOR_WRONG_ITEM_VALUE",
    -1062: "PI_WAVE_EDITOR_MISSING_GRAPH_COMPONENT",
    -1063: "PI_EXT_PROFILE_UNALLOWED_CMD",
    -1064: "PI_EXT_PROFILE_EXPECTING_MOTION_ERROR",
    -1065: "PI_EXT_PROFILE_ACTIVE",
    -1066: "PI_EXT_PROFILE_INDEX_OUT_OF_RANGE",
    -1067: "PI_PROFILE_GENERATOR_NO_PROFILE",
    -1068: "PI_PROFILE_GENERATOR_OUT_OF_LIMITS",
    -1069: "PI_PROFILE_GENERATOR_UNKNOWN_PARAMETER",
    -1070: "PI_PROFILE_GENERATOR_PAR_OUT_OF_RANGE",
    -1071: "PI_EXT_PROFILE_OUT_OF_MEMORY",
    -1072: "PI_EXT_PROFILE_WRONG_CLUSTER",
    -1073: "PI_UNKNOWN_CLUSTER_IDENTIFIER",
    -1074: "PI_INVALID_DEVICE_DRIVER_VERSION",
    -1075: "PI_INVALID_LIBRARY_VERSION",
    -1076: "PI_INTERFACE_LOCKED",
    -1077: "PI_PARAM_DAT_FILE_INVALID_VERSION",
    -1078: "PI_CANNOT_WRITE_TO_PARAM_DAT_FILE",
    -1079: "PI_CANNOT_CREATE_PARAM_DAT_FILE",
    -1080: "PI_PARAM_DAT_FILE_INVALID_REVISION",
    -1081: "PI_USERSTAGES_DAT_FILE_INVALID_REVISION",
    -1082: "PI_SOFTWARE_TIMEOUT",
    -1083: "PI_WRONG_DATA_TYPE",
    -1084: "PI_DIFFERENT_ARRAY_SIZES",
    -1085: "PI_PARAM_NOT_FOUND_IN_PARAM_DAT_FILE",
    -1086: "PI_MACRO_RECORDING_NOT_ALLOWED_IN_THIS_MODE",
    -1087: "PI_USER_CANCELLED_COMMAND",
    -1088: "PI_TOO_FEW_GCS_DATA",
    -1089: "PI_TOO_MANY_GCS_DATA",
    -1090: "PI_GCS_DATA_READ_ERROR",
    -1091: "PI_WRONG_NUMBER_OF_INPUT_ARGUMENTS",
    -1092: "PI_FAILED_TO_CHANGE_CCL_LEVEL",
    -1093: "PI_FAILED_TO_SWITCH_OFF_SERVO",
    -1094: "PI_FAILED_TO_SET_SINGLE_PARAMETER_WHILE_PERFORMING_CST",
    -1095: "PI_ERROR_CONTROLLER_REBOOT",
    -1096: "PI_ERROR_AT_QHPA",
    -1097: "PI_QHPA_NONCOMPLIANT_WITH_GCS",
    -1098: "PI_FAILED_TO_READ_QSPA",
    -1099: "PI_PAM_FILE_WRONG_VERSION",
    -1100: "PI_PAM_FILE_INVALID_FORMAT",
    -1101: "PI_INCOMPLETE_INFORMATION",
    -1102: "PI_NO_VALUE_AVAILABLE",
    -1103: "PI_NO_PAM_FILE_OPEN",
    -1104: "PI_INVALID_VALUE",
    -1105: "PI_UNKNOWN_PARAMETER",
    -1106: "PI_RESPONSE_TO_QSEP_FAILED",
    -1107: "PI_RESPONSE_TO_QSPA_FAILED",
    -1108: "PI_ERROR_IN_CST_VALIDATION",
    -1109: "PI_ERROR_PAM_FILE_HAS_DUPLICATE_ENTRY_WITH_DIFFERENT_VALUES",
    -1110: "PI_ERROR_FILE_NO_SIGNATURE",
    -1111: "PI_ERROR_FILE_INVALID_SIGNATURE",
    -1112: "PI_ERROR_CANNOT_DETERMINE_ACTUAL_END_OF_TRAVEL_WHILE_PLATFORM_IS_MOVING",
    -10000: "PI_PARAMETER_DB_INVALID_STAGE_TYPE_FORMAT",
    -10001: "PI_PARAMETER_DB_SYSTEM_NOT_AVAILABLE",
    -10002: "PI_PARAMETER_DB_FAILED_TO_ESTABLISH_CONNECTION",
    -10003: "PI_PARAMETER_DB_COMMUNICATION_ERROR",
    -10004: "PI_PARAMETER_DB_ERROR_WHILE_QUERYING_PARAMETERS",
    -10005: "PI_PARAMETER_DB_SYSTEM_ALREADY_EXISTS",
    -10006: "PI_PARAMETER_DB_QHPA_CONTAINS_UNKNOWN_PAM_IDS",
    -10007: "PI_PARAMETER_DB_AND_QHPA_ARE_INCONSISTENT",
    -10008: "PI_PARAMETER_DB_SYSTEM_COULD_NOT_BE_ADDED",
    -10009: "PI_PARAMETER_DB_SYSTEM_COULD_NOT_BE_REMOVED",
    -10010: "PI_PARAMETER_DB_CONTROLLER_DB_PARAMETERS_MISMATCH",
    -10011: "PI_PARAMETER_DB_DATABASE_IS_OUTDATED",
    -10012: "PI_PARAMETER_DB_AND_HPA_MISMATCH_STRICT",
    -10013: "PI_PARAMETER_DB_AND_HPA_MISMATCH_LOOSE",
    -10014: "PI_PARAMETER_DB_FAILED_TO_SET_PARAMETERS_CORRECTLY",
    -10015: "PI_PARAMETER_DB_MISSING_PARAMETER_DEFINITIONS_IN_DATABASE"
}
