25 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT)
26 #define XIMC_API __stdcall
28 #ifdef LIBXIMC_EXPORTS
29 #define XIMC_API __attribute__((visibility("default")))
43 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT)
44 #define XIMC_CALLCONV __stdcall
57 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT)
58 #define XIMC_RETTYPE unsigned int
60 #define XIMC_RETTYPE void*
64 #if !defined(XIMC_NO_STDINT)
66 #if ( (defined(_MSC_VER) && (_MSC_VER < 1600)) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT)) && !defined(MATLAB_IMPORT)
68 typedef __int8 int8_t;
69 typedef __int16 int16_t;
70 typedef __int32 int32_t;
71 typedef __int64 int64_t;
72 typedef unsigned __int8 uint8_t;
73 typedef unsigned __int16 uint16_t;
74 typedef unsigned __int32 uint32_t;
75 typedef unsigned __int64 uint64_t;
81 #if defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT)
82 typedef unsigned __int64 ulong_t;
83 typedef __int64 long_t;
85 typedef unsigned long long ulong_t;
86 typedef long long long_t;
93 #if defined(__cplusplus)
127 #if defined(_WIN64) || defined(__LP64__) || defined(LABVIEW64_IMPORT)
142 #define device_undefined -1
171 #define result_error -1
181 #define result_not_implemented -2
191 #define result_value_error -3
201 #define result_nodevice -4
222 #define LOGLEVEL_ERROR 0x01
231 #define LOGLEVEL_WARNING 0x02
240 #define LOGLEVEL_INFO 0x03
249 #define LOGLEVEL_DEBUG 0x04
350 #define LIBXIMC_VERSION 2.14.31
355 #define LIBXIMC_PROTOCOL_VERSION 20.10
376 #define ENUMERATE_PROBE 0x01
377 #define ENUMERATE_ALL_COM 0x02
378 #define ENUMERATE_NETWORK 0x04
398 #define MOVE_STATE_MOVING 0x01
399 #define MOVE_STATE_TARGET_SPEED 0x02
400 #define MOVE_STATE_ANTIPLAY 0x04
419 #define EEPROM_PRECEDENCE 0x01
439 #define PWR_STATE_UNKNOWN 0x00
440 #define PWR_STATE_OFF 0x01
441 #define PWR_STATE_NORM 0x03
442 #define PWR_STATE_REDUCT 0x04
443 #define PWR_STATE_MAX 0x05
465 #define STATE_CONTR 0x000003F
466 #define STATE_ERRC 0x0000001
467 #define STATE_ERRD 0x0000002
468 #define STATE_ERRV 0x0000004
469 #define STATE_EEPROM_CONNECTED 0x0000010
470 #define STATE_IS_HOMED 0x0000020
471 #define STATE_SECUR 0x1B3FFC0
472 #define STATE_ALARM 0x0000040
473 #define STATE_CTP_ERROR 0x0000080
474 #define STATE_POWER_OVERHEAT 0x0000100
475 #define STATE_CONTROLLER_OVERHEAT 0x0000200
476 #define STATE_OVERLOAD_POWER_VOLTAGE 0x0000400
477 #define STATE_OVERLOAD_POWER_CURRENT 0x0000800
478 #define STATE_OVERLOAD_USB_VOLTAGE 0x0001000
479 #define STATE_LOW_USB_VOLTAGE 0x0002000
480 #define STATE_OVERLOAD_USB_CURRENT 0x0004000
481 #define STATE_BORDERS_SWAP_MISSET 0x0008000
482 #define STATE_LOW_POWER_VOLTAGE 0x0010000
483 #define STATE_H_BRIDGE_FAULT 0x0020000
484 #define STATE_WINDING_RES_MISMATCH 0x0100000
485 #define STATE_ENCODER_FAULT 0x0200000
486 #define STATE_ENGINE_RESPONSE_ERROR 0x0800000
487 #define STATE_EXTIO_ALARM 0x1000000
509 #define STATE_DIG_SIGNAL 0xFFFF
510 #define STATE_RIGHT_EDGE 0x0001
511 #define STATE_LEFT_EDGE 0x0002
512 #define STATE_BUTTON_RIGHT 0x0004
513 #define STATE_BUTTON_LEFT 0x0008
514 #define STATE_GPIO_PINOUT 0x0010
515 #define STATE_GPIO_LEVEL 0x0020
516 #define STATE_BRAKE 0x0200
517 #define STATE_REV_SENSOR 0x0400
518 #define STATE_SYNC_INPUT 0x0800
519 #define STATE_SYNC_OUTPUT 0x1000
520 #define STATE_ENC_A 0x2000
521 #define STATE_ENC_B 0x4000
553 #define ENC_STATE_ABSENT 0x00
554 #define ENC_STATE_UNKNOWN 0x01
555 #define ENC_STATE_MALFUNC 0x02
556 #define ENC_STATE_REVERS 0x03
557 #define ENC_STATE_OK 0x04
577 #define WIND_A_STATE_ABSENT 0x00
578 #define WIND_A_STATE_UNKNOWN 0x01
579 #define WIND_A_STATE_MALFUNC 0x02
580 #define WIND_A_STATE_OK 0x03
581 #define WIND_B_STATE_ABSENT 0x00
582 #define WIND_B_STATE_UNKNOWN 0x10
583 #define WIND_B_STATE_MALFUNC 0x20
584 #define WIND_B_STATE_OK 0x30
606 #define MVCMD_NAME_BITS 0x3F
607 #define MVCMD_UKNWN 0x00
608 #define MVCMD_MOVE 0x01
609 #define MVCMD_MOVR 0x02
610 #define MVCMD_LEFT 0x03
611 #define MVCMD_RIGHT 0x04
612 #define MVCMD_STOP 0x05
613 #define MVCMD_HOME 0x06
614 #define MVCMD_LOFT 0x07
615 #define MVCMD_SSTP 0x08
616 #define MVCMD_ERROR 0x40
617 #define MVCMD_RUNNING 0x80
640 #define RPM_DIV_1000 0x01
663 #define ENGINE_REVERSE 0x01
664 #define ENGINE_CURRENT_AS_RMS 0x02
665 #define ENGINE_MAX_SPEED 0x04
666 #define ENGINE_ANTIPLAY 0x08
667 #define ENGINE_ACCEL_ON 0x10
668 #define ENGINE_LIMIT_VOLT 0x20
669 #define ENGINE_LIMIT_CURR 0x40
670 #define ENGINE_LIMIT_RPM 0x80
694 #define MICROSTEP_MODE_FULL 0x01
695 #define MICROSTEP_MODE_FRAC_2 0x02
696 #define MICROSTEP_MODE_FRAC_4 0x03
697 #define MICROSTEP_MODE_FRAC_8 0x04
698 #define MICROSTEP_MODE_FRAC_16 0x05
699 #define MICROSTEP_MODE_FRAC_32 0x06
700 #define MICROSTEP_MODE_FRAC_64 0x07
701 #define MICROSTEP_MODE_FRAC_128 0x08
702 #define MICROSTEP_MODE_FRAC_256 0x09
726 #define ENGINE_TYPE_NONE 0x00
727 #define ENGINE_TYPE_DC 0x01
728 #define ENGINE_TYPE_2DC 0x02
729 #define ENGINE_TYPE_STEP 0x03
730 #define ENGINE_TYPE_TEST 0x04
731 #define ENGINE_TYPE_BRUSHLESS 0x05
755 #define DRIVER_TYPE_DISCRETE_FET 0x01
756 #define DRIVER_TYPE_INTEGRATE 0x02
757 #define DRIVER_TYPE_EXTERNAL 0x03
779 #define POWER_REDUCT_ENABLED 0x01
780 #define POWER_OFF_ENABLED 0x02
781 #define POWER_SMOOTH_CURRENT 0x04
803 #define ALARM_ON_DRIVER_OVERHEATING 0x01
804 #define LOW_UPWR_PROTECTION 0x02
805 #define H_BRIDGE_ALERT 0x04
806 #define ALARM_ON_BORDERS_SWAP_MISSET 0x08
807 #define ALARM_FLAGS_STICKING 0x10
808 #define BRAKING_OVERVOLTAGE_PROTECTION 0x20
809 #define ALARM_WINDING_MISMATCH 0x40
810 #define ALARM_ENGINE_RESPONSE 0x80
831 #define SETPOS_IGNORE_POSITION 0x01
832 #define SETPOS_IGNORE_ENCODER 0x02
851 #define FEEDBACK_ENCODER 0x01
852 #define FEEDBACK_EMF 0x04
853 #define FEEDBACK_NONE 0x05
854 #define FEEDBACK_ENCODER_MEDIATED 0x06
873 #define FEEDBACK_ENC_REVERSE 0x01
874 #define FEEDBACK_ENC_ADAPTIVE_HOLDING 0x02
875 #define FEEDBACK_ENC_TYPE_BITS 0xC0
876 #define FEEDBACK_ENC_TYPE_AUTO 0x00
877 #define FEEDBACK_ENC_TYPE_SINGLE_ENDED 0x40
878 #define FEEDBACK_ENC_TYPE_DIFFERENTIAL 0x80
895 #define SYNCIN_ENABLED 0x01
896 #define SYNCIN_INVERT 0x02
897 #define SYNCIN_GOTOPOSITION 0x04
914 #define SYNCOUT_ENABLED 0x01
915 #define SYNCOUT_STATE 0x02
916 #define SYNCOUT_INVERT 0x04
917 #define SYNCOUT_IN_STEPS 0x08
918 #define SYNCOUT_ONSTART 0x10
919 #define SYNCOUT_ONSTOP 0x20
920 #define SYNCOUT_ONPERIOD 0x40
939 #define EXTIO_SETUP_OUTPUT 0x01
940 #define EXTIO_SETUP_INVERT 0x02
960 #define EXTIO_SETUP_MODE_IN_BITS 0x0F
961 #define EXTIO_SETUP_MODE_IN_NOP 0x00
962 #define EXTIO_SETUP_MODE_IN_STOP 0x01
963 #define EXTIO_SETUP_MODE_IN_PWOF 0x02
964 #define EXTIO_SETUP_MODE_IN_MOVR 0x03
965 #define EXTIO_SETUP_MODE_IN_HOME 0x04
966 #define EXTIO_SETUP_MODE_IN_ALARM 0x05
967 #define EXTIO_SETUP_MODE_OUT_BITS 0xF0
968 #define EXTIO_SETUP_MODE_OUT_OFF 0x00
969 #define EXTIO_SETUP_MODE_OUT_ON 0x10
970 #define EXTIO_SETUP_MODE_OUT_MOVING 0x20
971 #define EXTIO_SETUP_MODE_OUT_ALARM 0x30
972 #define EXTIO_SETUP_MODE_OUT_MOTOR_ON 0x40
995 #define BORDER_IS_ENCODER 0x01
996 #define BORDER_STOP_LEFT 0x02
997 #define BORDER_STOP_RIGHT 0x04
998 #define BORDERS_SWAP_MISSET_DETECTION 0x08
1021 #define ENDER_SWAP 0x01
1022 #define ENDER_SW1_ACTIVE_LOW 0x02
1023 #define ENDER_SW2_ACTIVE_LOW 0x04
1046 #define BRAKE_ENABLED 0x01
1047 #define BRAKE_ENG_PWROFF 0x02
1070 #define CONTROL_MODE_BITS 0x03
1071 #define CONTROL_MODE_OFF 0x00
1072 #define CONTROL_MODE_JOY 0x01
1073 #define CONTROL_MODE_LR 0x02
1074 #define CONTROL_BTN_LEFT_PUSHED_OPEN 0x04
1075 #define CONTROL_BTN_RIGHT_PUSHED_OPEN 0x08
1096 #define JOY_REVERSE 0x01
1119 #define CTP_ENABLED 0x01
1120 #define CTP_BASE 0x02
1121 #define CTP_ALARM_ON_ERROR 0x04
1122 #define REV_SENS_INV 0x08
1123 #define CTP_ERROR_CORRECTION 0x10
1147 #define HOME_DIR_FIRST 0x001
1148 #define HOME_DIR_SECOND 0x002
1149 #define HOME_MV_SEC_EN 0x004
1150 #define HOME_HALF_MV 0x008
1151 #define HOME_STOP_FIRST_BITS 0x030
1152 #define HOME_STOP_FIRST_REV 0x010
1153 #define HOME_STOP_FIRST_SYN 0x020
1154 #define HOME_STOP_FIRST_LIM 0x030
1155 #define HOME_STOP_SECOND_BITS 0x0C0
1156 #define HOME_STOP_SECOND_REV 0x040
1157 #define HOME_STOP_SECOND_SYN 0x080
1158 #define HOME_STOP_SECOND_LIM 0x0C0
1159 #define HOME_USE_FAST 0x100
1176 #define UART_PARITY_BITS 0x03
1177 #define UART_PARITY_BIT_EVEN 0x00
1178 #define UART_PARITY_BIT_ODD 0x01
1179 #define UART_PARITY_BIT_SPACE 0x02
1180 #define UART_PARITY_BIT_MARK 0x03
1181 #define UART_PARITY_BIT_USE 0x04
1182 #define UART_STOP_BIT 0x08
1199 #define MOTOR_TYPE_UNKNOWN 0x00
1200 #define MOTOR_TYPE_STEP 0x01
1201 #define MOTOR_TYPE_DC 0x02
1202 #define MOTOR_TYPE_BLDC 0x03
1219 #define ENCSET_DIFFERENTIAL_OUTPUT 0x001
1220 #define ENCSET_PUSHPULL_OUTPUT 0x004
1221 #define ENCSET_INDEXCHANNEL_PRESENT 0x010
1222 #define ENCSET_REVOLUTIONSENSOR_PRESENT 0x040
1223 #define ENCSET_REVOLUTIONSENSOR_ACTIVE_HIGH 0x100
1240 #define MB_AVAILABLE 0x01
1241 #define MB_POWERED_HOLD 0x02
1258 #define TS_TYPE_BITS 0x07
1259 #define TS_TYPE_UNKNOWN 0x00
1260 #define TS_TYPE_THERMOCOUPLE 0x01
1261 #define TS_TYPE_SEMICONDUCTOR 0x02
1262 #define TS_AVAILABLE 0x08
1279 #define LS_ON_SW1_AVAILABLE 0x01
1280 #define LS_ON_SW2_AVAILABLE 0x02
1281 #define LS_SW1_ACTIVE_LOW 0x04
1282 #define LS_SW2_ACTIVE_LOW 0x08
1283 #define LS_SHORTED 0x10
1302 #define BACK_EMF_INDUCTANCE_AUTO 0x01
1303 #define BACK_EMF_RESISTANCE_AUTO 0x02
1304 #define BACK_EMF_KM_AUTO 0x04
1446 float AntiplaySpeed;
1818 unsigned int MaxSpeed[10];
1819 unsigned int uMaxSpeed[10];
1820 unsigned int Timeout[9];
1855 unsigned int Timeout[9];
1963 unsigned int IPv4Address[4];
1964 unsigned int SubnetMask[4];
1965 unsigned int DefaultGateway[4];
1983 char UserPassword[21];
2021 char ControllerName[17];
2036 unsigned int UserData[7];
2104 unsigned int Param1;
2307 char Manufacturer[5];
2308 char ManufacturerId[3];
2309 char ProductDescription[9];
2361 unsigned int deprecated0;
2374 unsigned int deprecated1[2];
2392 uint8_t DebugData[128];
2408 uint8_t DebugData[128];
2422 char PositionerName[17];
2438 char Manufacturer[17];
2439 char PartNumber[25];
2479 char Manufacturer[17];
2480 char PartNumber[25];
2534 char Manufacturer[17];
2535 char PartNumber[25];
2572 char Manufacturer[17];
2573 char PartNumber[25];
2609 char Manufacturer[17];
2610 char PartNumber[25];
2648 char MagneticBrakeInfo[25];
2653 char TemperatureSensorInfo[25];
5496 #if !defined(MATLAB_IMPORT) && !defined(LABVIEW64_IMPORT) && !defined(LABVIEW32_IMPORT)
5667 #if defined(__cplusplus)