libximc: Исходный файл ximc.h

libximc 3.1.1

ximc.h
См. документацию.
1 #ifndef INC_XIMC_H
2 #define INC_XIMC_H
3
25 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT)
26 #define XIMC_API __stdcall
27 #else
28 #ifdef LIBXIMC_EXPORTS
29 #define XIMC_API __attribute__((visibility("default")))
30 #else
31 #define XIMC_API
32 #endif
33 #endif
34
43 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT)
44 #define XIMC_CALLCONV __stdcall
45 #else
46 #define XIMC_CALLCONV
47 #endif
48
57 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT)
58 #define XIMC_RETTYPE unsigned int
59 #else
60 #define XIMC_RETTYPE void*
61 #endif
62
63
64 #if !defined(XIMC_NO_STDINT)
65
66 #if ( (defined(_MSC_VER) && (_MSC_VER < 1600)) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT)) && !defined(MATLAB_IMPORT)
67 // msvc types burden
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;
76 #else
77 #include <stdint.h>
78 #endif
79
80 /* labview doesn't speak C99 */
81 #if defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT)
82 typedef unsigned __int64 ulong_t;
83 typedef __int64 long_t;
84 #else
85 typedef unsigned long long ulong_t;
86 typedef long long long_t;
87 #endif
88
89 #endif
90
91 #include <time.h>
92
93 #if defined(__cplusplus)
94 extern "C"
95 {
96 #endif
97
98
107 typedef int device_t;
108
117 typedef int result_t;
118
127 #if defined(_WIN64) || defined(__LP64__) || defined(LABVIEW64_IMPORT)
128 typedef uint64_t device_enumeration_t;
129 #else
130 typedef uint32_t device_enumeration_t;
131 #endif
132 //typedef device_enumeration_t* pdevice_enumeration_t;
133
142 #define device_undefined -1
143
152
161 #define result_ok 0
162
171 #define result_error -1
172
181 #define result_not_implemented -2
182
191 #define result_value_error -3
192
201 #define result_nodevice -4
202
204
213
222 #define LOGLEVEL_ERROR 0x01
223
231 #define LOGLEVEL_WARNING 0x02
232
240 #define LOGLEVEL_INFO 0x03
241
249 #define LOGLEVEL_DEBUG 0x04
250
251
252
296 typedef struct calibration_t
297 {
298 double A;
326 unsigned int MicrostepMode;
327 } calibration_t;
328
336 typedef struct device_network_information_t
337 {
338 uint32_t ipv4;
339 char nodename[16];
341 uint32_t axis_state;
342 char locker_username[16];
343 char locker_nodename[16];
344 time_t locked_time;
345 } device_network_information_t;
346
347
348
350 #define LIBXIMC_VERSION 3.1.1
351
355 #define LIBXIMC_PROTOCOL_VERSION 20.15
356
359 /*
360 ------------------------------------------
361 BEGIN OF GENERATED struct declarations
362 ------------------------------------------
363 */
364
376 #define ENUMERATE_PROBE 0x01
377 #define ENUMERATE_ALL_COM 0x02
378 #define ENUMERATE_NETWORK 0x04
380
381
398 #define MOVE_STATE_MOVING 0x01
399 #define MOVE_STATE_TARGET_SPEED 0x02
400 #define MOVE_STATE_ANTIPLAY 0x04
402
403
419 #define EEPROM_PRECEDENCE 0x01
421
422
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
445
446
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
489
490
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
523
524
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
559
560
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
586
587
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
619
620
640 #define RPM_DIV_1000 0x01
642
643
663 #define ENGINE_REVERSE 0x001
664 #define ENGINE_CURRENT_AS_RMS 0x002
665 #define ENGINE_MAX_SPEED 0x004
666 #define ENGINE_ANTIPLAY 0x008
667 #define ENGINE_ACCEL_ON 0x010
668 #define ENGINE_LIMIT_VOLT 0x020
669 #define ENGINE_LIMIT_CURR 0x040
670 #define ENGINE_LIMIT_RPM 0x080
671 #define ENGINE_USE_PEAK_CURRENT 0x100
673
674
695 #define MICROSTEP_MODE_FULL 0x01
696 #define MICROSTEP_MODE_FRAC_2 0x02
697 #define MICROSTEP_MODE_FRAC_4 0x03
698 #define MICROSTEP_MODE_FRAC_8 0x04
699 #define MICROSTEP_MODE_FRAC_16 0x05
700 #define MICROSTEP_MODE_FRAC_32 0x06
701 #define MICROSTEP_MODE_FRAC_64 0x07
702 #define MICROSTEP_MODE_FRAC_128 0x08
703 #define MICROSTEP_MODE_FRAC_256 0x09
705
706
727 #define ENGINE_TYPE_NONE 0x00
728 #define ENGINE_TYPE_DC 0x01
729 #define ENGINE_TYPE_2DC 0x02
730 #define ENGINE_TYPE_STEP 0x03
731 #define ENGINE_TYPE_TEST 0x04
732 #define ENGINE_TYPE_BRUSHLESS 0x05
734
735
756 #define DRIVER_TYPE_INTEGRATE 0x02
757 #define DRIVER_TYPE_EXTERNAL 0x03
759
760
779 #define POWER_REDUCT_ENABLED 0x01
780 #define POWER_OFF_ENABLED 0x02
781 #define POWER_SMOOTH_CURRENT 0x04
783
784
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
812
813
831 #define SETPOS_IGNORE_POSITION 0x01
832 #define SETPOS_IGNORE_ENCODER 0x02
834
835
851 #define FEEDBACK_ENCODER 0x01
852 #define FEEDBACK_EMF 0x04
853 #define FEEDBACK_NONE 0x05
854 #define FEEDBACK_ENCODER_MEDIATED 0x06
856
857
873 #define FEEDBACK_ENC_REVERSE 0x01
874 #define FEEDBACK_ENC_ADAPTIVE_HOLDING 0x02
875 #define FEEDBACK_ENC_FILTER_NONE 0x00
876 #define FEEDBACK_ENC_FILTER_WEAK 0x10
877 #define FEEDBACK_ENC_FILTER_MEDIUM 0x20
878 #define FEEDBACK_ENC_FILTER_STRONG 0x30
879 #define FEEDBACK_ENC_FILTER_BITS 0x30
880 #define FEEDBACK_ENC_TYPE_AUTO 0x00
881 #define FEEDBACK_ENC_TYPE_SINGLE_ENDED 0x40
882 #define FEEDBACK_ENC_TYPE_DIFFERENTIAL 0x80
883 #define FEEDBACK_ENC_TYPE_BITS 0xC0
885
886
900 #define SYNCIN_ENABLED 0x01
901 #define SYNCIN_INVERT 0x02
902 #define SYNCIN_GOTOPOSITION 0x04
904
905
919 #define SYNCOUT_ENABLED 0x01
920 #define SYNCOUT_STATE 0x02
921 #define SYNCOUT_INVERT 0x04
922 #define SYNCOUT_IN_STEPS 0x08
923 #define SYNCOUT_ONSTART 0x10
924 #define SYNCOUT_ONSTOP 0x20
925 #define SYNCOUT_ONPERIOD 0x40
927
928
944 #define EXTIO_SETUP_OUTPUT 0x01
945 #define EXTIO_SETUP_INVERT 0x02
947
948
965 #define EXTIO_SETUP_MODE_IN_BITS 0x0F
966 #define EXTIO_SETUP_MODE_IN_NOP 0x00
967 #define EXTIO_SETUP_MODE_IN_STOP 0x01
968 #define EXTIO_SETUP_MODE_IN_PWOF 0x02
969 #define EXTIO_SETUP_MODE_IN_MOVR 0x03
970 #define EXTIO_SETUP_MODE_IN_HOME 0x04
971 #define EXTIO_SETUP_MODE_IN_ALARM 0x05
972 #define EXTIO_SETUP_MODE_OUT_BITS 0xF0
973 #define EXTIO_SETUP_MODE_OUT_OFF 0x00
974 #define EXTIO_SETUP_MODE_OUT_ON 0x10
975 #define EXTIO_SETUP_MODE_OUT_MOVING 0x20
976 #define EXTIO_SETUP_MODE_OUT_ALARM 0x30
977 #define EXTIO_SETUP_MODE_OUT_MOTOR_ON 0x40
979
980
1000 #define BORDER_IS_ENCODER 0x01
1001 #define BORDER_STOP_LEFT 0x02
1002 #define BORDER_STOP_RIGHT 0x04
1003 #define BORDERS_SWAP_MISSET_DETECTION 0x08
1005
1006
1026 #define ENDER_SWAP 0x01
1027 #define ENDER_SW1_ACTIVE_LOW 0x02
1028 #define ENDER_SW2_ACTIVE_LOW 0x04
1030
1031
1051 #define BRAKE_ENABLED 0x01
1052 #define BRAKE_ENG_PWROFF 0x02
1054
1055
1075 #define CONTROL_MODE_BITS 0x03
1076 #define CONTROL_MODE_OFF 0x00
1077 #define CONTROL_MODE_JOY 0x01
1078 #define CONTROL_MODE_LR 0x02
1079 #define CONTROL_BTN_LEFT_PUSHED_OPEN 0x04
1080 #define CONTROL_BTN_RIGHT_PUSHED_OPEN 0x08
1082
1083
1101 #define JOY_REVERSE 0x01
1103
1104
1124 #define CTP_ENABLED 0x01
1125 #define CTP_BASE 0x02
1126 #define CTP_ALARM_ON_ERROR 0x04
1127 #define REV_SENS_INV 0x08
1128 #define CTP_ERROR_CORRECTION 0x10
1130
1131
1152 #define HOME_DIR_FIRST 0x001
1153 #define HOME_DIR_SECOND 0x002
1154 #define HOME_MV_SEC_EN 0x004
1155 #define HOME_HALF_MV 0x008
1156 #define HOME_STOP_FIRST_BITS 0x030
1157 #define HOME_STOP_FIRST_REV 0x010
1158 #define HOME_STOP_FIRST_SYN 0x020
1159 #define HOME_STOP_FIRST_LIM 0x030
1160 #define HOME_STOP_SECOND_BITS 0x0C0
1161 #define HOME_STOP_SECOND_REV 0x040
1162 #define HOME_STOP_SECOND_SYN 0x080
1163 #define HOME_STOP_SECOND_LIM 0x0C0
1164 #define HOME_USE_FAST 0x100
1166
1167
1181 #define UART_PARITY_BITS 0x03
1182 #define UART_PARITY_BIT_EVEN 0x00
1183 #define UART_PARITY_BIT_ODD 0x01
1184 #define UART_PARITY_BIT_SPACE 0x02
1185 #define UART_PARITY_BIT_MARK 0x03
1186 #define UART_PARITY_BIT_USE 0x04
1187 #define UART_STOP_BIT 0x08
1189
1190
1204 #define MOTOR_TYPE_UNKNOWN 0x00
1205 #define MOTOR_TYPE_STEP 0x01
1206 #define MOTOR_TYPE_DC 0x02
1207 #define MOTOR_TYPE_BLDC 0x03
1209
1210
1224 #define ENCSET_DIFFERENTIAL_OUTPUT 0x001
1225 #define ENCSET_PUSHPULL_OUTPUT 0x004
1226 #define ENCSET_INDEXCHANNEL_PRESENT 0x010
1227 #define ENCSET_REVOLUTIONSENSOR_PRESENT 0x040
1228 #define ENCSET_REVOLUTIONSENSOR_ACTIVE_HIGH 0x100
1230
1231
1245 #define MB_AVAILABLE 0x01
1246 #define MB_POWERED_HOLD 0x02
1248
1249
1263 #define TS_TYPE_BITS 0x07
1264 #define TS_TYPE_UNKNOWN 0x00
1265 #define TS_TYPE_THERMOCOUPLE 0x01
1266 #define TS_TYPE_SEMICONDUCTOR 0x02
1267 #define TS_AVAILABLE 0x08
1269
1270
1284 #define LS_ON_SW1_AVAILABLE 0x01
1285 #define LS_ON_SW2_AVAILABLE 0x02
1286 #define LS_SW1_ACTIVE_LOW 0x04
1287 #define LS_SW2_ACTIVE_LOW 0x08
1288 #define LS_SHORTED 0x10
1290
1291
1307 #define BACK_EMF_INDUCTANCE_AUTO 0x01
1308 #define BACK_EMF_RESISTANCE_AUTO 0x02
1309 #define BACK_EMF_KM_AUTO 0x04
1311
1312
1324 typedef struct
1325 {
1326 unsigned int IPS;
1327 unsigned int FeedbackType;
1328 unsigned int FeedbackFlags;
1329 unsigned int CountsPerTurn;
1330 } feedback_settings_t;
1331
1346 typedef struct
1347 {
1348 unsigned int FastHome;
1349 unsigned int uFastHome;
1350 unsigned int SlowHome;
1351 unsigned int uSlowHome;
1352 int HomeDelta;
1353 int uHomeDelta;
1354 unsigned int HomeFlags;
1355 } home_settings_t;
1356
1372 typedef struct
1373 {
1374 float FastHome;
1375 float SlowHome;
1376 float HomeDelta;
1377 unsigned int HomeFlags;
1378 } home_settings_calb_t;
1379
1391 typedef struct
1392 {
1393 unsigned int Speed;
1394 unsigned int uSpeed;
1395 unsigned int Accel;
1396 unsigned int Decel;
1397 unsigned int AntiplaySpeed;
1398 unsigned int uAntiplaySpeed;
1399 unsigned int MoveFlags;
1400 } move_settings_t;
1401
1413 typedef struct
1414 {
1415 float Speed;
1427 float Accel;
1439 float Decel;
1451 float AntiplaySpeed;
1463 unsigned int MoveFlags;
1464 } move_settings_calb_t;
1465
1482 typedef struct
1483 {
1484 unsigned int NomVoltage;
1485 unsigned int NomCurrent;
1486 unsigned int NomSpeed;
1487 unsigned int uNomSpeed;
1488 unsigned int EngineFlags;
1489 int Antiplay;
1490 unsigned int MicrostepMode;
1491 unsigned int StepsPerRev;
1492 unsigned int PeakCurrent;
1493 } engine_settings_t;
1494
1512 typedef struct
1513 {
1514 unsigned int NomVoltage;
1515 unsigned int NomCurrent;
1516 float NomSpeed;
1517 unsigned int EngineFlags;
1518 float Antiplay;
1519 unsigned int MicrostepMode;
1520 unsigned int StepsPerRev;
1521 unsigned int PeakCurrent;
1522 } engine_settings_calb_t;
1523
1540 typedef struct
1541 {
1542 unsigned int EngineType;
1543 unsigned int DriverType;
1544 } entype_settings_t;
1545
1557 typedef struct
1558 {
1559 unsigned int HoldCurrent;
1560 unsigned int CurrReductDelay;
1561 unsigned int PowerOffDelay;
1562 unsigned int CurrentSetTime;
1563 unsigned int PowerFlags;
1564 } power_settings_t;
1565
1577 typedef struct
1578 {
1579 unsigned int LowUpwrOff;
1580 unsigned int CriticalIpwr;
1581 unsigned int CriticalUpwr;
1582 unsigned int CriticalT;
1583 unsigned int CriticalIusb;
1584 unsigned int CriticalUusb;
1585 unsigned int MinimumUusb;
1586 unsigned int Flags;
1587 } secure_settings_t;
1588
1604 typedef struct
1605 {
1606 unsigned int BorderFlags;
1607 unsigned int EnderFlags;
1608 int LeftBorder;
1609 int uLeftBorder;
1610 int RightBorder;
1611 int uRightBorder;
1612 } edges_settings_t;
1613
1629 typedef struct
1630 {
1631 unsigned int BorderFlags;
1632 unsigned int EnderFlags;
1633 float LeftBorder;
1634 float RightBorder;
1635 } edges_settings_calb_t;
1636
1654 typedef struct
1655 {
1656 unsigned int KpU;
1657 unsigned int KiU;
1658 unsigned int KdU;
1659 float Kpf;
1660 float Kif;
1661 float Kdf;
1662 } pid_settings_t;
1663
1678 typedef struct
1679 {
1680 unsigned int SyncInFlags;
1681 unsigned int ClutterTime;
1682 int Position;
1683 int uPosition;
1684 unsigned int Speed;
1685 unsigned int uSpeed;
1686 unsigned int reserved0;
1687 } sync_in_settings_t;
1688
1702 typedef struct
1703 {
1704 unsigned int SyncInFlags;
1705 unsigned int ClutterTime;
1706 float Position;
1707 float Speed;
1708 unsigned int reserved0;
1709 } sync_in_settings_calb_t;
1710
1724 typedef struct
1725 {
1726 unsigned int SyncOutFlags;
1727 unsigned int SyncOutPulseSteps;
1728 unsigned int SyncOutPeriod;
1729 unsigned int Accuracy;
1730 unsigned int uAccuracy;
1731 } sync_out_settings_t;
1732
1747 typedef struct
1748 {
1749 unsigned int SyncOutFlags;
1750 unsigned int SyncOutPulseSteps;
1751 unsigned int SyncOutPeriod;
1752 float Accuracy;
1753 } sync_out_settings_calb_t;
1754
1771 typedef struct
1772 {
1773 unsigned int EXTIOSetupFlags;
1774 unsigned int EXTIOModeFlags;
1775 } extio_settings_t;
1776
1791 typedef struct
1792 {
1793 unsigned int t1;
1794 unsigned int t2;
1795 unsigned int t3;
1796 unsigned int t4;
1797 unsigned int BrakeFlags;
1798 } brake_settings_t;
1799
1825 typedef struct
1826 {
1827 unsigned int MaxSpeed[10];
1828 unsigned int uMaxSpeed[10];
1829 unsigned int Timeout[9];
1830 unsigned int MaxClickTime;
1831 unsigned int Flags;
1832 int DeltaPosition;
1833 int uDeltaPosition;
1834 } control_settings_t;
1835
1861 typedef struct
1862 {
1863 float MaxSpeed[10];
1864 unsigned int Timeout[9];
1865 unsigned int MaxClickTime;
1866 unsigned int Flags;
1867 float DeltaPosition;
1868 } control_settings_calb_t;
1869
1902 typedef struct
1903 {
1904 unsigned int JoyLowEnd;
1905 unsigned int JoyCenter;
1906 unsigned int JoyHighEnd;
1907 unsigned int ExpFactor;
1908 unsigned int DeadZone;
1909 unsigned int JoyFlags;
1910 } joystick_settings_t;
1911
1930 typedef struct
1931 {
1932 unsigned int CTPMinError;
1933 unsigned int CTPFlags;
1934 } ctp_settings_t;
1935
1950 typedef struct
1951 {
1952 unsigned int Speed;
1953 unsigned int UARTSetupFlags;
1954 } uart_settings_t;
1955
1969 typedef struct
1970 {
1971 unsigned int DHCPEnabled;
1972 unsigned int IPv4Address[4];
1973 unsigned int SubnetMask[4];
1974 unsigned int DefaultGateway[4];
1975 } network_settings_t;
1976
1990 typedef struct
1991 {
1992 char UserPassword[21];
1993 } password_settings_t;
1994
2009 typedef struct
2010 {
2011 float CSS1_A;
2012 float CSS1_B;
2013 float CSS2_A;
2014 float CSS2_B;
2015 float FullCurrent_A;
2016 float FullCurrent_B;
2017 } calibration_settings_t;
2018
2028 typedef struct
2029 {
2030 char ControllerName[17];
2031 unsigned int CtrlFlags;
2032 } controller_name_t;
2033
2043 typedef struct
2044 {
2045 unsigned int UserData[7];
2046 } nonvolatile_memory_t;
2047
2066 typedef struct
2067 {
2068 float L;
2069 float R;
2070 float Km;
2071 unsigned int BackEMFFlags;
2072 } emf_settings_t;
2073
2090 typedef struct
2091 {
2092 unsigned int stepcloseloop_Kw;
2093 unsigned int stepcloseloop_Kp_low;
2094 unsigned int stepcloseloop_Kp_high;
2095 } engine_advanced_setup_t;
2096
2112 typedef struct
2113 {
2114 unsigned int Param1;
2115 } extended_settings_t;
2116
2131 typedef struct
2132 {
2133 int Position;
2134 int uPosition;
2135 long_t EncPosition;
2136 } get_position_t;
2137
2151 typedef struct
2152 {
2153 float Position;
2154 long_t EncPosition;
2155 } get_position_calb_t;
2156
2169 typedef struct
2170 {
2171 int Position;
2172 int uPosition;
2173 long_t EncPosition;
2174 unsigned int PosFlags;
2175 } set_position_t;
2176
2189 typedef struct
2190 {
2191 float Position;
2192 long_t EncPosition;
2193 unsigned int PosFlags;
2194 } set_position_calb_t;
2195
2208 typedef struct
2209 {
2210 unsigned int MoveSts;
2211 unsigned int MvCmdSts;
2212 unsigned int PWRSts;
2213 unsigned int EncSts;
2214 unsigned int WindSts;
2215 int CurPosition;
2216 int uCurPosition;
2217 long_t EncPosition;
2218 int CurSpeed;
2219 int uCurSpeed;
2220 int Ipwr;
2221 int Upwr;
2222 int Iusb;
2223 int Uusb;
2224 int CurT;
2225 unsigned int Flags;
2226 unsigned int GPIOFlags;
2227 unsigned int CmdBufFreeSpace;
2228 } status_t;
2229
2242 typedef struct
2243 {
2244 unsigned int MoveSts;
2245 unsigned int MvCmdSts;
2246 unsigned int PWRSts;
2247 unsigned int EncSts;
2248 unsigned int WindSts;
2249 float CurPosition;
2250 long_t EncPosition;
2251 float CurSpeed;
2252 int Ipwr;
2253 int Upwr;
2254 int Iusb;
2255 int Uusb;
2256 int CurT;
2257 unsigned int Flags;
2258 unsigned int GPIOFlags;
2259 unsigned int CmdBufFreeSpace;
2260 } status_calb_t;
2261
2272 typedef struct
2273 {
2274 int Speed[25];
2275 int Error[25];
2276 unsigned int Length;
2277 } measurements_t;
2278
2292 typedef struct
2293 {
2294 int WindingVoltageA;
2295 int WindingVoltageB;
2296 int WindingVoltageC;
2297 int WindingCurrentA;
2298 int WindingCurrentB;
2299 int WindingCurrentC;
2300 unsigned int Pot;
2301 unsigned int Joy;
2302 int AveragedPowerRatio;
2303 } chart_data_t;
2304
2315 typedef struct
2316 {
2317 char Manufacturer[5];
2318 char ManufacturerId[3];
2319 char ProductDescription[9];
2320 unsigned int Major;
2321 unsigned int Minor;
2322 unsigned int Release;
2323 } device_information_t;
2324
2335 typedef struct
2336 {
2337 unsigned int SN;
2338 uint8_t Key[32];
2339 unsigned int Major;
2340 unsigned int Minor;
2341 unsigned int Release;
2342 } serial_number_t;
2343
2357 typedef struct
2358 {
2359 unsigned int A1Voltage_ADC;
2360 unsigned int A2Voltage_ADC;
2361 unsigned int B1Voltage_ADC;
2362 unsigned int B2Voltage_ADC;
2363 unsigned int SupVoltage_ADC;
2364 unsigned int ACurrent_ADC;
2365 unsigned int BCurrent_ADC;
2366 unsigned int FullCurrent_ADC;
2367 unsigned int Temp_ADC;
2368 unsigned int Joy_ADC;
2369 unsigned int Pot_ADC;
2370 unsigned int Enc_Check_ADC;
2371 unsigned int deprecated0;
2372 int A1Voltage;
2373 int A2Voltage;
2374 int B1Voltage;
2375 int B2Voltage;
2376 int SupVoltage;
2377 int ACurrent;
2378 int BCurrent;
2379 int FullCurrent;
2380 int Temp;
2381 int Joy;
2382 int Pot;
2383 int Enc_Check;
2384 unsigned int deprecated1[2];
2385 int R;
2386 int L;
2387 } analog_data_t;
2388
2400 typedef struct
2401 {
2402 uint8_t DebugData[128];
2403 } debug_read_t;
2404
2416 typedef struct
2417 {
2418 uint8_t DebugData[128];
2419 } debug_write_t;
2420
2430 typedef struct
2431 {
2432 char PositionerName[17];
2433 } stage_name_t;
2434
2446 typedef struct
2447 {
2448 char Manufacturer[17];
2449 char PartNumber[25];
2450 } stage_information_t;
2451
2463 typedef struct
2464 {
2465 float LeadScrewPitch;
2466 char Units[9];
2467 float MaxSpeed;
2468 float TravelRange;
2469 float SupplyVoltageMin;
2470 float SupplyVoltageMax;
2471 float MaxCurrentConsumption;
2472 float HorizontalLoadCapacity;
2473 float VerticalLoadCapacity;
2474 } stage_settings_t;
2475
2487 typedef struct
2488 {
2489 char Manufacturer[17];
2490 char PartNumber[25];
2491 } motor_information_t;
2492
2504 typedef struct
2505 {
2506 unsigned int MotorType;
2507 unsigned int ReservedField;
2508 unsigned int Poles;
2509 unsigned int Phases;
2510 float NominalVoltage;
2511 float NominalCurrent;
2512 float NominalSpeed;
2513 float NominalTorque;
2514 float NominalPower;
2515 float WindingResistance;
2516 float WindingInductance;
2517 float RotorInertia;
2518 float StallTorque;
2519 float DetentTorque;
2520 float TorqueConstant;
2521 float SpeedConstant;
2522 float SpeedTorqueGradient;
2523 float MechanicalTimeConstant;
2524 float MaxSpeed;
2525 float MaxCurrent;
2526 float MaxCurrentTime;
2527 float NoLoadCurrent;
2528 float NoLoadSpeed;
2529 } motor_settings_t;
2530
2542 typedef struct
2543 {
2544 char Manufacturer[17];
2545 char PartNumber[25];
2546 } encoder_information_t;
2547
2559 typedef struct
2560 {
2561 float MaxOperatingFrequency;
2562 float SupplyVoltageMin;
2563 float SupplyVoltageMax;
2564 float MaxCurrentConsumption;
2565 unsigned int PPR;
2566 unsigned int EncoderSettings;
2567 } encoder_settings_t;
2568
2580 typedef struct
2581 {
2582 char Manufacturer[17];
2583 char PartNumber[25];
2584 } hallsensor_information_t;
2585
2597 typedef struct
2598 {
2599 float MaxOperatingFrequency;
2600 float SupplyVoltageMin;
2601 float SupplyVoltageMax;
2602 float MaxCurrentConsumption;
2603 unsigned int PPR;
2604 } hallsensor_settings_t;
2605
2617 typedef struct
2618 {
2619 char Manufacturer[17];
2620 char PartNumber[25];
2621 } gear_information_t;
2622
2634 typedef struct
2635 {
2636 float ReductionIn;
2637 float ReductionOut;
2638 float RatedInputTorque;
2639 float RatedInputSpeed;
2640 float MaxOutputBacklash;
2641 float InputInertia;
2642 float Efficiency;
2643 } gear_settings_t;
2644
2656 typedef struct
2657 {
2658 char MagneticBrakeInfo[25];
2659 float MBRatedVoltage;
2660 float MBRatedCurrent;
2661 float MBTorque;
2662 unsigned int MBSettings;
2663 char TemperatureSensorInfo[25];
2664 float TSMin;
2665 float TSMax;
2666 float TSGrad;
2667 unsigned int TSSettings;
2668 unsigned int LimitSwitchesSettings;
2669 } accessories_settings_t;
2670
2683 typedef struct
2684 {
2685 uint8_t key[16];
2686 } init_random_t;
2687
2697 typedef struct
2698 {
2699 unsigned int UniqueID0;
2700 unsigned int UniqueID1;
2701 unsigned int UniqueID2;
2702 unsigned int UniqueID3;
2703 } globally_unique_identifier_t;
2704
2705 /*
2706 --------------------------------------------
2707 BEGIN OF GENERATED function declarations
2708 --------------------------------------------
2709 */
2710
2723
2742 result_t XIMC_API set_feedback_settings (device_t id, const feedback_settings_t* feedback_settings);
2743
2762 result_t XIMC_API get_feedback_settings (device_t id, feedback_settings_t* feedback_settings);
2763
2780 result_t XIMC_API set_home_settings (device_t id, const home_settings_t* home_settings);
2781
2800 result_t XIMC_API set_home_settings_calb (device_t id, const home_settings_calb_t* home_settings_calb, const calibration_t* calibration);
2801
2818 result_t XIMC_API get_home_settings (device_t id, home_settings_t* home_settings);
2819
2838 result_t XIMC_API get_home_settings_calb (device_t id, home_settings_calb_t* home_settings_calb, const calibration_t* calibration);
2839
2852 result_t XIMC_API set_move_settings (device_t id, const move_settings_t* move_settings);
2853
2868 result_t XIMC_API set_move_settings_calb (device_t id, const move_settings_calb_t* move_settings_calb, const calibration_t* calibration);
2869
2882 result_t XIMC_API get_move_settings (device_t id, move_settings_t* move_settings);
2883
2898 result_t XIMC_API get_move_settings_calb (device_t id, move_settings_calb_t* move_settings_calb, const calibration_t* calibration);
2899
2918 result_t XIMC_API set_engine_settings (device_t id, const engine_settings_t* engine_settings);
2919
2940 result_t XIMC_API set_engine_settings_calb (device_t id, const engine_settings_calb_t* engine_settings_calb, const calibration_t* calibration);
2941
2960 result_t XIMC_API get_engine_settings (device_t id, engine_settings_t* engine_settings);
2961
2982 result_t XIMC_API get_engine_settings_calb (device_t id, engine_settings_calb_t* engine_settings_calb, const calibration_t* calibration);
2983
2996 result_t XIMC_API set_entype_settings (device_t id, const entype_settings_t* entype_settings);
2997
3010 result_t XIMC_API get_entype_settings (device_t id, entype_settings_t* entype_settings);
3011
3025 result_t XIMC_API set_power_settings (device_t id, const power_settings_t* power_settings);
3026
3040 result_t XIMC_API get_power_settings (device_t id, power_settings_t* power_settings);
3041
3055 result_t XIMC_API set_secure_settings (device_t id, const secure_settings_t* secure_settings);
3056
3070 result_t XIMC_API get_secure_settings (device_t id, secure_settings_t* secure_settings);
3071
3086 result_t XIMC_API set_edges_settings (device_t id, const edges_settings_t* edges_settings);
3087
3112 result_t XIMC_API set_edges_settings_calb (device_t id, const edges_settings_calb_t* edges_settings_calb, const calibration_t* calibration);
3113
3128 result_t XIMC_API get_edges_settings (device_t id, edges_settings_t* edges_settings);
3129
3154 result_t XIMC_API get_edges_settings_calb (device_t id, edges_settings_calb_t* edges_settings_calb, const calibration_t* calibration);
3155
3174 result_t XIMC_API set_pid_settings (device_t id, const pid_settings_t* pid_settings);
3175
3193 result_t XIMC_API get_pid_settings (device_t id, pid_settings_t* pid_settings);
3194
3211 result_t XIMC_API set_sync_in_settings (device_t id, const sync_in_settings_t* sync_in_settings);
3212
3231 result_t XIMC_API set_sync_in_settings_calb (device_t id, const sync_in_settings_calb_t* sync_in_settings_calb, const calibration_t* calibration);
3232
3249 result_t XIMC_API get_sync_in_settings (device_t id, sync_in_settings_t* sync_in_settings);
3250
3269 result_t XIMC_API get_sync_in_settings_calb (device_t id, sync_in_settings_calb_t* sync_in_settings_calb, const calibration_t* calibration);
3270
3287 result_t XIMC_API set_sync_out_settings (device_t id, const sync_out_settings_t* sync_out_settings);
3288
3307 result_t XIMC_API set_sync_out_settings_calb (device_t id, const sync_out_settings_calb_t* sync_out_settings_calb, const calibration_t* calibration);
3308
3323 result_t XIMC_API get_sync_out_settings (device_t id, sync_out_settings_t* sync_out_settings);
3324
3343 result_t XIMC_API get_sync_out_settings_calb (device_t id, sync_out_settings_calb_t* sync_out_settings_calb, const calibration_t* calibration);
3344
3362 result_t XIMC_API set_extio_settings (device_t id, const extio_settings_t* extio_settings);
3363
3379 result_t XIMC_API get_extio_settings (device_t id, extio_settings_t* extio_settings);
3380
3393 result_t XIMC_API set_brake_settings (device_t id, const brake_settings_t* brake_settings);
3394
3407 result_t XIMC_API get_brake_settings (device_t id, brake_settings_t* brake_settings);
3408
3433 result_t XIMC_API set_control_settings (device_t id, const control_settings_t* control_settings);
3434
3461 result_t XIMC_API set_control_settings_calb (device_t id, const control_settings_calb_t* control_settings_calb, const calibration_t* calibration);
3462
3487 result_t XIMC_API get_control_settings (device_t id, control_settings_t* control_settings);
3488
3515 result_t XIMC_API get_control_settings_calb (device_t id, control_settings_calb_t* control_settings_calb, const calibration_t* calibration);
3516
3545 result_t XIMC_API set_joystick_settings (device_t id, const joystick_settings_t* joystick_settings);
3546
3574 result_t XIMC_API get_joystick_settings (device_t id, joystick_settings_t* joystick_settings);
3575
3595 result_t XIMC_API set_ctp_settings (device_t id, const ctp_settings_t* ctp_settings);
3596
3614 result_t XIMC_API get_ctp_settings (device_t id, ctp_settings_t* ctp_settings);
3615
3632 result_t XIMC_API set_uart_settings (device_t id, const uart_settings_t* uart_settings);
3633
3650 result_t XIMC_API get_uart_settings (device_t id, uart_settings_t* uart_settings);
3651
3671 result_t XIMC_API set_network_settings (device_t id, const network_settings_t* network_settings);
3672
3692 result_t XIMC_API get_network_settings (device_t id, network_settings_t* network_settings);
3693
3707 result_t XIMC_API set_password_settings (device_t id, const password_settings_t* password_settings);
3708
3722 result_t XIMC_API get_password_settings (device_t id, password_settings_t* password_settings);
3723
3740 result_t XIMC_API set_calibration_settings (device_t id, const calibration_settings_t* calibration_settings);
3741
3758 result_t XIMC_API get_calibration_settings (device_t id, calibration_settings_t* calibration_settings);
3759
3772 result_t XIMC_API set_controller_name (device_t id, const controller_name_t* controller_name);
3773
3786 result_t XIMC_API get_controller_name (device_t id, controller_name_t* controller_name);
3787
3800 result_t XIMC_API set_nonvolatile_memory (device_t id, const nonvolatile_memory_t* nonvolatile_memory);
3801
3814 result_t XIMC_API get_nonvolatile_memory (device_t id, nonvolatile_memory_t* nonvolatile_memory);
3815
3833 result_t XIMC_API set_emf_settings (device_t id, const emf_settings_t* emf_settings);
3834
3851 result_t XIMC_API get_emf_settings (device_t id, emf_settings_t* emf_settings);
3852
3871 result_t XIMC_API set_engine_advanced_setup (device_t id, const engine_advanced_setup_t* engine_advanced_setup);
3872
3891 result_t XIMC_API get_engine_advanced_setup (device_t id, engine_advanced_setup_t* engine_advanced_setup);
3892
3907 result_t XIMC_API set_extended_settings (device_t id, const extended_settings_t* extended_settings);
3908
3923 result_t XIMC_API get_extended_settings (device_t id, extended_settings_t* extended_settings);
3924
3925
3927
3940
3958 result_t XIMC_API command_stop (device_t id);
3959
3974 result_t XIMC_API command_power_off (device_t id);
3975
3994 result_t XIMC_API command_move (device_t id, int Position, int uPosition);
3995
4022 result_t XIMC_API command_move_calb (device_t id, float Position, const calibration_t* calibration);
4023
4040 result_t XIMC_API command_movr (device_t id, int DeltaPosition, int uDeltaPosition);
4041
4066 result_t XIMC_API command_movr_calb (device_t id, float DeltaPosition, const calibration_t* calibration);
4067
4103 result_t XIMC_API command_home (device_t id);
4104
4115 result_t XIMC_API command_left (device_t id);
4116
4127 result_t XIMC_API command_right (device_t id);
4128
4140 result_t XIMC_API command_loft (device_t id);
4141
4152 result_t XIMC_API command_sstp (device_t id);
4153
4167 result_t XIMC_API get_position (device_t id, get_position_t* the_get_position);
4168
4191 result_t XIMC_API get_position_calb (device_t id, get_position_calb_t* the_get_position_calb, const calibration_t* calibration);
4192
4207 result_t XIMC_API set_position (device_t id, const set_position_t* the_set_position);
4208
4223 result_t XIMC_API set_position_calb (device_t id, const set_position_calb_t* the_set_position_calb, const calibration_t* calibration);
4224
4235 result_t XIMC_API command_zero (device_t id);
4236
4237
4239
4252
4263 result_t XIMC_API command_save_settings (device_t id);
4264
4275 result_t XIMC_API command_read_settings (device_t id);
4276
4287 result_t XIMC_API command_save_robust_settings (device_t id);
4288
4299 result_t XIMC_API command_read_robust_settings (device_t id);
4300
4313 result_t XIMC_API command_eesave_settings (device_t id);
4314
4325 result_t XIMC_API command_eeread_settings (device_t id);
4326
4337 result_t XIMC_API command_start_measurements (device_t id);
4338
4357 result_t XIMC_API get_measurements (device_t id, measurements_t* measurements);
4358
4375 result_t XIMC_API get_chart_data (device_t id, chart_data_t* chart_data);
4376
4389 result_t XIMC_API get_serial_number (device_t id, unsigned int* SerialNumber);
4390
4407 result_t XIMC_API get_firmware_version (device_t id, unsigned int* Major, unsigned int* Minor, unsigned int* Release);
4408
4419 result_t XIMC_API service_command_updf (device_t id);
4420
4421
4423
4436
4455 result_t XIMC_API set_serial_number (device_t id, const serial_number_t* serial_number);
4456
4469 result_t XIMC_API get_analog_data (device_t id, analog_data_t* analog_data);
4470
4485 result_t XIMC_API get_debug_read (device_t id, debug_read_t* debug_read);
4486
4499 result_t XIMC_API set_debug_write (device_t id, const debug_write_t* debug_write);
4500
4501
4503
4516
4529 result_t XIMC_API set_stage_name (device_t id, const stage_name_t* stage_name);
4530
4543 result_t XIMC_API get_stage_name (device_t id, stage_name_t* stage_name);
4544
4559 result_t XIMC_API set_stage_information (device_t id, const stage_information_t* stage_information);
4560
4573 result_t XIMC_API get_stage_information (device_t id, stage_information_t* stage_information);
4574
4589 result_t XIMC_API set_stage_settings (device_t id, const stage_settings_t* stage_settings);
4590
4603 result_t XIMC_API get_stage_settings (device_t id, stage_settings_t* stage_settings);
4604
4619 result_t XIMC_API set_motor_information (device_t id, const motor_information_t* motor_information);
4620
4633 result_t XIMC_API get_motor_information (device_t id, motor_information_t* motor_information);
4634
4649 result_t XIMC_API set_motor_settings (device_t id, const motor_settings_t* motor_settings);
4650
4663 result_t XIMC_API get_motor_settings (device_t id, motor_settings_t* motor_settings);
4664
4679 result_t XIMC_API set_encoder_information (device_t id, const encoder_information_t* encoder_information);
4680
4693 result_t XIMC_API get_encoder_information (device_t id, encoder_information_t* encoder_information);
4694
4709 result_t XIMC_API set_encoder_settings (device_t id, const encoder_settings_t* encoder_settings);
4710
4723 result_t XIMC_API get_encoder_settings (device_t id, encoder_settings_t* encoder_settings);
4724
4739 result_t XIMC_API set_hallsensor_information (device_t id, const hallsensor_information_t* hallsensor_information);
4740
4753 result_t XIMC_API get_hallsensor_information (device_t id, hallsensor_information_t* hallsensor_information);
4754
4769 result_t XIMC_API set_hallsensor_settings (device_t id, const hallsensor_settings_t* hallsensor_settings);
4770
4783 result_t XIMC_API get_hallsensor_settings (device_t id, hallsensor_settings_t* hallsensor_settings);
4784
4799 result_t XIMC_API set_gear_information (device_t id, const gear_information_t* gear_information);
4800
4813 result_t XIMC_API get_gear_information (device_t id, gear_information_t* gear_information);
4814
4829 result_t XIMC_API set_gear_settings (device_t id, const gear_settings_t* gear_settings);
4830
4843 result_t XIMC_API get_gear_settings (device_t id, gear_settings_t* gear_settings);
4844
4859 result_t XIMC_API set_accessories_settings (device_t id, const accessories_settings_t* accessories_settings);
4860
4873 result_t XIMC_API get_accessories_settings (device_t id, accessories_settings_t* accessories_settings);
4874
4891 result_t XIMC_API get_bootloader_version (device_t id, unsigned int* Major, unsigned int* Minor, unsigned int* Release);
4892
4905 result_t XIMC_API get_init_random (device_t id, init_random_t* init_random);
4906
4922 result_t XIMC_API get_globally_unique_identifier (device_t id, globally_unique_identifier_t* globally_unique_identifier);
4923
4924
4925 /*
4926 -------------------------
4927 END OF GENERATED CODE
4928 -------------------------
4929 */
4930
4931 /* hand-crafted functions begin */
4932
4945 result_t XIMC_API goto_firmware(device_t id, uint8_t* ret);
4946
4959 result_t XIMC_API has_firmware(const char* uri, uint8_t* ret);
4960
4976 result_t XIMC_API command_update_firmware(const char* uri, const uint8_t* data, uint32_t data_size);
4977
4992 result_t XIMC_API write_key (const char* uri, uint8_t* key);
4993
5006 result_t XIMC_API command_reset(device_t id);
5007
5020 result_t XIMC_API command_clear_fram(device_t id);
5021
5023
5024 // ------------------------------------
5025
5037
5065 device_t XIMC_API open_device (const char* uri);
5066
5081 result_t XIMC_API close_device (device_t* id);
5082
5127 result_t XIMC_API set_correction_table(device_t id, const char* namefile);
5128
5141 result_t XIMC_API probe_device (const char* uri);
5142
5253 device_enumeration_t XIMC_API enumerate_devices(int enumerate_flags, const char *hints);
5254
5265 result_t XIMC_API free_enumerate_devices(device_enumeration_t device_enumeration);
5266
5277 int XIMC_API get_device_count(device_enumeration_t device_enumeration);
5278
5287 typedef char* pchar;
5288
5303 pchar XIMC_API get_device_name(device_enumeration_t device_enumeration, int device_index);
5304
5305
5322 result_t XIMC_API get_enumerate_device_serial(device_enumeration_t device_enumeration, int device_index, uint32_t* serial);
5323
5340 result_t XIMC_API get_enumerate_device_information(device_enumeration_t device_enumeration, int device_index, device_information_t* device_information);
5341
5358 result_t XIMC_API get_enumerate_device_controller_name(device_enumeration_t device_enumeration, int device_index, controller_name_t* controller_name);
5359
5376 result_t XIMC_API get_enumerate_device_stage_name(device_enumeration_t device_enumeration, int device_index, stage_name_t* stage_name);
5377
5394 result_t XIMC_API get_enumerate_device_network_information(device_enumeration_t device_enumeration, int device_index, device_network_information_t* device_network_information);
5395
5403 result_t XIMC_API reset_locks ();
5404
5414 void XIMC_API msec_sleep (unsigned int msec);
5415
5425 void XIMC_API ximc_version (char* version);
5426
5427 #if !defined(MATLAB_IMPORT) && !defined(LABVIEW64_IMPORT) && !defined(LABVIEW32_IMPORT)
5428
5440 typedef void (XIMC_CALLCONV *logging_callback_t)(int loglevel, const wchar_t* message, void* user_data);
5441
5453 void XIMC_API logging_callback_stderr_wide(int loglevel, const wchar_t* message, void* user_data);
5454
5466 void XIMC_API logging_callback_stderr_narrow(int loglevel, const wchar_t* message, void* user_data);
5467
5480 void XIMC_API set_logging_callback(logging_callback_t logging_callback, void* user_data);
5481
5482 #endif
5483
5507 result_t XIMC_API get_status (device_t id, status_t* status);
5508
5534 result_t XIMC_API get_status_calb (device_t id, status_calb_t* status, const calibration_t* calibration);
5535
5561 result_t XIMC_API get_device_information (device_t id, device_information_t* device_information);
5562
5581 result_t XIMC_API command_wait_for_stop(device_t id, uint32_t refresh_interval_ms);
5582
5595 result_t XIMC_API command_homezero(device_t id);
5597
5598 #if defined(__cplusplus)
5599 };
5600 #endif
5601
5602 #endif
5603
5604 // vim: ts=4 shiftwidth=4
5605
move_settings_t::AntiplaySpeed
unsigned int AntiplaySpeed
Скорость в режиме антилюфта, заданная в целых шагах/c (ШД) или в оборотах/с(DC).
Definition: ximc.h:1397
engine_settings_calb_t::StepsPerRev
unsigned int StepsPerRev
Количество полных шагов на оборот (используется только с шаговым двигателем).
Definition: ximc.h:1520
analog_data_t::FullCurrent_ADC
unsigned int FullCurrent_ADC
"Полный ток" - необработанные данные с АЦП.
Definition: ximc.h:2366
home_settings_calb_t::FastHome
float FastHome
Скорость первого движения.
Definition: ximc.h:1374
get_gear_information
result_t XIMC_API get_gear_information(device_t id, gear_information_t *gear_information)
Устарело.
ctp_settings_t
Настройки контроля позиции(для шагового двигателя).
Definition: ximc.h:1930
write_key
result_t XIMC_API write_key(const char *uri, uint8_t *key)
Запись ключа защиты Функция используется только производителем.
globally_unique_identifier_t
Глобальный уникальный идентификатор.
Definition: ximc.h:2697
entype_settings_t::EngineType
unsigned int EngineType
Флаги, определяющие тип мотора.
Definition: ximc.h:1542
set_extio_settings
result_t XIMC_API set_extio_settings(device_t id, const extio_settings_t *extio_settings)
Команда записи параметров настройки режимов внешнего ввода/вывода.
device_network_information_t::axis_state
uint32_t axis_state
флаги, представляющие состояние устройства
Definition: ximc.h:341
get_position_calb_t
Данные о позиции.
Definition: ximc.h:2151
sync_in_settings_t::uSpeed
unsigned int uSpeed
Заданная скорость в микрошагах в секунду.
Definition: ximc.h:1685
edges_settings_calb_t::EnderFlags
unsigned int EnderFlags
Флаги концевых выключателей.
Definition: ximc.h:1632
motor_settings_t::MotorType
unsigned int MotorType
Флаги типа двигателя.
Definition: ximc.h:2506
pid_settings_t::KiU
unsigned int KiU
Интегральный коэффициент ПИД контура по напряжению
Definition: ximc.h:1657
secure_settings_t::LowUpwrOff
unsigned int LowUpwrOff
Нижний порог напряжения на силовой части для выключения, десятки мВ.
Definition: ximc.h:1579
analog_data_t::R
int R
Сопротивление обмоток двигателя (для шагового двигателя), в мОм
Definition: ximc.h:2385
home_settings_t::uFastHome
unsigned int uFastHome
Дробная часть скорости первого движения в микрошагах (используется только с шаговым двигателем)...
Definition: ximc.h:1349
hallsensor_settings_t::PPR
unsigned int PPR
Количество отсчётов на оборот
Definition: ximc.h:2603
sync_out_settings_calb_t::SyncOutPulseSteps
unsigned int SyncOutPulseSteps
Определяет длительность выходных импульсов в шагах/импульсах энкодера, когда установлен флаг SYNCOUT_...
Definition: ximc.h:1750
engine_settings_calb_t::NomVoltage
unsigned int NomVoltage
Номинальное напряжение мотора в десятках мВ.
Definition: ximc.h:1514
set_sync_out_settings_calb
result_t XIMC_API set_sync_out_settings_calb(device_t id, const sync_out_settings_calb_t *sync_out_settings_calb, const calibration_t *calibration)
Запись настроек для выходного импульса синхронизации с использованием пользовательских единиц...
get_sync_in_settings_calb
result_t XIMC_API get_sync_in_settings_calb(device_t id, sync_in_settings_calb_t *sync_in_settings_calb, const calibration_t *calibration)
Чтение настроек для входного импульса синхронизации с использованием пользовательских единиц...
set_move_settings
result_t XIMC_API set_move_settings(device_t id, const move_settings_t *move_settings)
Команда записи настроек перемещения (скорость, ускорение, порог и т.
debug_write_t
Отладочные данные.
Definition: ximc.h:2416
set_position
result_t XIMC_API set_position(device_t id, const set_position_t *the_set_position)
Устанавливает произвольное значение положения в шагах и микрошагах для шагового двигателя и в шагах э...
edges_settings_t::RightBorder
int RightBorder
Позиция правой границы, используется если установлен флаг BORDER_IS_ENCODER.
Definition: ximc.h:1610
motor_settings_t::MaxCurrent
float MaxCurrent
Максимальный ток в обмотке (А).
Definition: ximc.h:2525
analog_data_t
Аналоговые данные.
Definition: ximc.h:2357
get_motor_settings
result_t XIMC_API get_motor_settings(device_t id, motor_settings_t *motor_settings)
Устарело.
get_status_calb
result_t XIMC_API get_status_calb(device_t id, status_calb_t *status, const calibration_t *calibration)
Возвращает информацию о текущем состоянии устройства.
calibration_settings_t::CSS2_B
float CSS2_B
Коэффициент сдвига для аналоговых измерений тока в обмотке B.
Definition: ximc.h:2014
move_settings_t::uAntiplaySpeed
unsigned int uAntiplaySpeed
Скорость в режиме антилюфта, выраженная в микрошагах в секунду.
Definition: ximc.h:1398
calibration_settings_t::CSS2_A
float CSS2_A
Коэффициент масштабирования для аналоговых измерений тока в обмотке B.
Definition: ximc.h:2013
device_t
int device_t
Тип идентификатора устройства
Definition: ximc.h:107
hallsensor_settings_t
Устарело.
Definition: ximc.h:2597
status_t::Ipwr
int Ipwr
Ток потребления силовой части, мА.
Definition: ximc.h:2220
control_settings_t::uDeltaPosition
int uDeltaPosition
Дробная часть смещения в микрошагах.
Definition: ximc.h:1833
device_information_t::Major
unsigned int Major
Основной номер версии железа.
Definition: ximc.h:2320
set_home_settings_calb
result_t XIMC_API set_home_settings_calb(device_t id, const home_settings_calb_t *home_settings_calb, const calibration_t *calibration)
Команда записи настроек для подхода в home position с использованием пользовательских единиц...
gear_settings_t::ReductionIn
float ReductionIn
Входной коэффициент редуктора.
Definition: ximc.h:2636
status_calb_t::Uusb
int Uusb
Напряжение на USB, десятки мВ.
Definition: ximc.h:2255
hallsensor_settings_t::SupplyVoltageMax
float SupplyVoltageMax
Максимальное напряжение питания (В).
Definition: ximc.h:2601
accessories_settings_t::MBRatedVoltage
float MBRatedVoltage
Номинальное напряжение для управления магнитным тормозом (В).
Definition: ximc.h:2659
get_debug_read
result_t XIMC_API get_debug_read(device_t id, debug_read_t *debug_read)
Чтение данных из прошивки для отладки и поиска неисправностей.
calibration_t
struct calibration_t calibration_t
Структура калибровок
command_move
result_t XIMC_API command_move(device_t id, int Position, int uPosition)
При получении команды "move" двигатель начинает перемещаться (если не используется режим "ТТЛСинхроВх...
analog_data_t::A1Voltage
int A1Voltage
"Выходное напряжение на 1 выводе обмотки А" - откалиброванные данные (в десятках мВ).
Definition: ximc.h:2372
command_move_calb
result_t XIMC_API command_move_calb(device_t id, float Position, const calibration_t *calibration)
Перемещение в позицию с использованием пользовательских единиц.
sync_in_settings_t::ClutterTime
unsigned int ClutterTime
Минимальная длительность входного импульса синхронизации для защиты от дребезга (мкс).
Definition: ximc.h:1681
status_calb_t::GPIOFlags
unsigned int GPIOFlags
Флаги состояния GPIO входов.
Definition: ximc.h:2258
accessories_settings_t::TSSettings
unsigned int TSSettings
Флаги настроек температурного датчика.
Definition: ximc.h:2667
status_t::PWRSts
unsigned int PWRSts
Флаги состояния питания шагового мотора.
Definition: ximc.h:2212
uart_settings_t
Настройки UART.
Definition: ximc.h:1950
edges_settings_calb_t::LeftBorder
float LeftBorder
Позиция левой границы, используется если установлен флаг BORDER_IS_ENCODER.
Definition: ximc.h:1633
sync_out_settings_t::SyncOutPeriod
unsigned int SyncOutPeriod
Период генерации импульсов (в шагах/отсчетах энкодера) используется при установленном флаге SYNCOUT_O...
Definition: ximc.h:1728
engine_settings_calb_t::MicrostepMode
unsigned int MicrostepMode
Флаги параметров микрошагового режима.
Definition: ximc.h:1519
set_stage_name
result_t XIMC_API set_stage_name(device_t id, const stage_name_t *stage_name)
Запись пользовательского имени подвижки в EEPROM.
status_t::CurSpeed
int CurSpeed
Текущая скорость.
Definition: ximc.h:2218
analog_data_t::Enc_Check_ADC
unsigned int Enc_Check_ADC
Напряжение на линии проверки типа энкодера, необработанные данные АЦП.
Definition: ximc.h:2370
get_engine_settings_calb
result_t XIMC_API get_engine_settings_calb(device_t id, engine_settings_calb_t *engine_settings_calb, const calibration_t *calibration)
Чтение настроек мотора с использованием пользовательских единиц.
encoder_settings_t::SupplyVoltageMax
float SupplyVoltageMax
Максимальное напряжение питания (В).
Definition: ximc.h:2563
stage_settings_t::VerticalLoadCapacity
float VerticalLoadCapacity
Вертикальная грузоподъемность (кг).
Definition: ximc.h:2473
set_engine_settings_calb
result_t XIMC_API set_engine_settings_calb(device_t id, const engine_settings_calb_t *engine_settings_calb, const calibration_t *calibration)
Запись настроек мотора с использованием пользовательских единиц.
analog_data_t::BCurrent
int BCurrent
"Ток через обмотку B" - откалиброванные данные (в мА).
Definition: ximc.h:2378
stage_settings_t::HorizontalLoadCapacity
float HorizontalLoadCapacity
Горизонтальная грузоподъемность (кг).
Definition: ximc.h:2472
status_t::Iusb
int Iusb
Ток потребления по USB, мА.
Definition: ximc.h:2222
analog_data_t::Joy
int Joy
Калиброванные данные джойстика в условных внутренних единицах.
Definition: ximc.h:2381
network_settings_t::DHCPEnabled
unsigned int DHCPEnabled
Определяет способ получения IP-адреса каналов.
Definition: ximc.h:1971
engine_advanced_setup_t::stepcloseloop_Kp_high
unsigned int stepcloseloop_Kp_high
Используется только производителем.
Definition: ximc.h:2094
motor_settings_t::NoLoadCurrent
float NoLoadCurrent
Ток потребления в холостом режиме (А).
Definition: ximc.h:2527
edges_settings_t::uLeftBorder
int uLeftBorder
Позиция левой границы в микрошагах (используется только с шаговым двигателем).
Definition: ximc.h:1609
engine_settings_calb_t
Ограничения и настройки движения, связанные с двигателем, с использованием пользовательских единиц...
Definition: ximc.h:1512
get_status
result_t XIMC_API get_status(device_t id, status_t *status)
Возвращает информацию о текущем состоянии устройства.
set_control_settings
result_t XIMC_API set_control_settings(device_t id, const control_settings_t *control_settings)
Запись настроек управления мотором.
get_stage_information
result_t XIMC_API get_stage_information(device_t id, stage_information_t *stage_information)
Устарело.
chart_data_t::WindingVoltageC
int WindingVoltageC
В случае бесщеточного - напряжение на третьей обмотке (в десятках мВ); в случае ШД и DC не использует...
Definition: ximc.h:2296
sync_in_settings_t::Position
int Position
Желаемая позиция или смещение (в полных шагах)
Definition: ximc.h:1682
set_emf_settings
result_t XIMC_API set_emf_settings(device_t id, const emf_settings_t *emf_settings)
Запись электромеханических настроек шагового двигателя.
sync_out_settings_t::uAccuracy
unsigned int uAccuracy
Это окрестность вокруг целевой координаты в микрошагах (используется только с шаговым двигателем)...
Definition: ximc.h:1730
status_calb_t::EncPosition
long_t EncPosition
Текущая позиция по данным с энкодера в импульсах энкодера используется только если энкодер установлен...
Definition: ximc.h:2250
get_device_name
pchar XIMC_API get_device_name(device_enumeration_t device_enumeration, int device_index)
Возвращает имя подключенного устройства из перечисления устройств.
home_settings_t::HomeDelta
int HomeDelta
Расстояние отхода от точки останова (в полных шагах).
Definition: ximc.h:1352
sync_in_settings_calb_t::SyncInFlags
unsigned int SyncInFlags
Флаги настроек синхронизации входа.
Definition: ximc.h:1704
gear_information_t
Устарело.
Definition: ximc.h:2617
command_update_firmware
result_t XIMC_API command_update_firmware(const char *uri, const uint8_t *data, uint32_t data_size)
Обновление прошивки.
set_control_settings_calb
result_t XIMC_API set_control_settings_calb(device_t id, const control_settings_calb_t *control_settings_calb, const calibration_t *calibration)
Запись настроек управления мотором с использованием пользовательских единиц.
sync_out_settings_calb_t::SyncOutFlags
unsigned int SyncOutFlags
Флаги настроек синхронизации выхода.
Definition: ximc.h:1749
set_sync_out_settings
result_t XIMC_API set_sync_out_settings(device_t id, const sync_out_settings_t *sync_out_settings)
Запись настроек для выходного импульса синхронизации.
sync_in_settings_t::SyncInFlags
unsigned int SyncInFlags
Флаги настроек синхронизации входа.
Definition: ximc.h:1680
status_t::WindSts
unsigned int WindSts
Состояние обмоток.
Definition: ximc.h:2214
status_t::Upwr
int Upwr
Напряжение на силовой части, десятки мВ.
Definition: ximc.h:2221
move_settings_calb_t::Decel
float Decel
Торможение
Definition: ximc.h:1439
motor_settings_t::SpeedConstant
float SpeedConstant
Константа скорости, определяющая значение или амплитуду напряжения наведённой индукции при вращении р...
Definition: ximc.h:2521
command_read_settings
result_t XIMC_API command_read_settings(device_t id)
Чтение всех настроек контроллера из flash-памяти в оперативную, заменяя текущие настройки.
status_calb_t::MvCmdSts
unsigned int MvCmdSts
Состояние команды движения.
Definition: ximc.h:2245
set_position_t::Position
int Position
Позиция в основных шагах двигателя
Definition: ximc.h:2171
status_t::uCurSpeed
int uCurSpeed
Дробная часть текущей скорости в микрошагах.
Definition: ximc.h:2219
device_network_information_t
struct device_network_information_t device_network_information_t
Структура данных с информацией о сетевом устройстве.
serial_number_t::SN
unsigned int SN
Новый серийный номер платы.
Definition: ximc.h:2337
brake_settings_t::t1
unsigned int t1
Время в мс между включением питания мотора и отключением тормоза.
Definition: ximc.h:1793
encoder_settings_t::SupplyVoltageMin
float SupplyVoltageMin
Минимальное напряжение питания (В).
Definition: ximc.h:2562
command_loft
result_t XIMC_API command_loft(device_t id)
При получении команды "loft" двигатель смещается из текущей точки на расстояние Antiplay, заданное в настройках мотора (engine_settings), затем двигается в ту же точку.
set_encoder_settings
result_t XIMC_API set_encoder_settings(device_t id, const encoder_settings_t *encoder_settings)
Устарело.
set_engine_settings
result_t XIMC_API set_engine_settings(device_t id, const engine_settings_t *engine_settings)
Запись настроек мотора.
feedback_settings_t::CountsPerTurn
unsigned int CountsPerTurn
Количество отсчётов энкодера на оборот вала.
Definition: ximc.h:1329
uart_settings_t::UARTSetupFlags
unsigned int UARTSetupFlags
Флаги настроек четности команды UART.
Definition: ximc.h:1953
engine_settings_t::uNomSpeed
unsigned int uNomSpeed
Микрошаговая часть номинальной скорости мотора (используется только с шаговым двигателем).
Definition: ximc.h:1487
feedback_settings_t
Настройки обратной связи.
Definition: ximc.h:1324
status_t::GPIOFlags
unsigned int GPIOFlags
Флаги состояния GPIO входов.
Definition: ximc.h:2226
get_gear_settings
result_t XIMC_API get_gear_settings(device_t id, gear_settings_t *gear_settings)
Устарело.
get_home_settings
result_t XIMC_API get_home_settings(device_t id, home_settings_t *home_settings)
Команда чтения настроек для подхода в home position.
get_position_t
Данные о позиции.
Definition: ximc.h:2131
motor_settings_t::Poles
unsigned int Poles
Количество пар полюсов у DC- или BLDC-двигателя или количество шагов на оборот для шагового двигателя...
Definition: ximc.h:2508
accessories_settings_t::TSMin
float TSMin
Минимальная измеряемая температура (градусов Цельсия).
Definition: ximc.h:2664
engine_settings_t::NomVoltage
unsigned int NomVoltage
Номинальное напряжение мотора в десятках мВ.
Definition: ximc.h:1484
joystick_settings_t::DeadZone
unsigned int DeadZone
Отклонение от среднего положения, которое не вызывает начала движения (в десятых долях процента)...
Definition: ximc.h:1908
gear_settings_t::RatedInputSpeed
float RatedInputSpeed
Максимальная скорость на входном валу редуктора (об/мин).
Definition: ximc.h:2639
chart_data_t
Дополнительное состояние устройства.
Definition: ximc.h:2292
status_t::CmdBufFreeSpace
unsigned int CmdBufFreeSpace
Данное поле служебное.
Definition: ximc.h:2227
stage_settings_t::SupplyVoltageMax
float SupplyVoltageMax
Максимальное напряжение питания (В).
Definition: ximc.h:2470
command_eesave_settings
result_t XIMC_API command_eesave_settings(device_t id)
Запись настроек контроллера в EEPROM память позиционера.
logging_callback_t
void(XIMC_CALLCONV * logging_callback_t)(int loglevel, const wchar_t *message, void *user_data)
Прототип функции обратного вызова для логирования
Definition: ximc.h:5440
sync_out_settings_calb_t
Настройки выходной синхронизации с использованием пользовательских единиц.
Definition: ximc.h:1747
calibration_settings_t::FullCurrent_B
float FullCurrent_B
Коэффициент сдвига для аналоговых измерений полного тока.
Definition: ximc.h:2016
pid_settings_t::KpU
unsigned int KpU
Пропорциональный коэффициент ПИД контура по напряжению
Definition: ximc.h:1656
engine_settings_t::NomCurrent
unsigned int NomCurrent
Номинальный ток через мотор (в мА).
Definition: ximc.h:1485
get_calibration_settings
result_t XIMC_API get_calibration_settings(device_t id, calibration_settings_t *calibration_settings)
Команда чтения калибровочных коэффициентов.
status_t::CurPosition
int CurPosition
Первичное поле, в котором хранится текущая позиция, как бы ни была устроена обратная связь...
Definition: ximc.h:2215
sync_out_settings_calb_t::SyncOutPeriod
unsigned int SyncOutPeriod
Период генерации импульсов (в шагах/отсчетах энкодера) используется при установленном флаге SYNCOUT_O...
Definition: ximc.h:1751
get_encoder_settings
result_t XIMC_API get_encoder_settings(device_t id, encoder_settings_t *encoder_settings)
Устарело.
engine_advanced_setup_t::stepcloseloop_Kp_low
unsigned int stepcloseloop_Kp_low
Используется только производителем.
Definition: ximc.h:2093
set_position_t
Данные о позиции.
Definition: ximc.h:2169
home_settings_t::FastHome
unsigned int FastHome
Скорость первого движения (в полных шагах).
Definition: ximc.h:1348
open_device
device_t XIMC_API open_device(const char *uri)
Открывает устройство по имени uri и возвращает идентификатор, который будет использоваться для обраще...
edges_settings_t::uRightBorder
int uRightBorder
Позиция правой границы в микрошагах (используется только с шаговым двигателем).
Definition: ximc.h:1611
set_power_settings
result_t XIMC_API set_power_settings(device_t id, const power_settings_t *power_settings)
Команда записи параметров питания мотора.
secure_settings_t::CriticalT
unsigned int CriticalT
Максимальная температура контроллера, вызывающая состояние ALARM, в десятых долях градуса Цельсия...
Definition: ximc.h:1582
device_network_information_t
Структура данных с информацией о сетевом устройстве.
Definition: ximc.h:336
command_start_measurements
result_t XIMC_API command_start_measurements(device_t id)
Старт измерения и буферизации скорости, ошибки следования.
secure_settings_t::Flags
unsigned int Flags
Флаги критических параметров.
Definition: ximc.h:1586
get_home_settings_calb
result_t XIMC_API get_home_settings_calb(device_t id, home_settings_calb_t *home_settings_calb, const calibration_t *calibration)
Команда чтения настроек для подхода в home position с использованием пользовательских единиц...
secure_settings_t::MinimumUusb
unsigned int MinimumUusb
Устарело.
Definition: ximc.h:1585
home_settings_t::uSlowHome
unsigned int uSlowHome
Дробная часть скорости второго движения в микрошагах (используется только с шаговым двигателем)...
Definition: ximc.h:1351
status_calb_t::CurSpeed
float CurSpeed
Текущая скорость.
Definition: ximc.h:2251
get_move_settings
result_t XIMC_API get_move_settings(device_t id, move_settings_t *move_settings)
Команда чтения настроек перемещения (скорость, ускорение, порог и т.
home_settings_calb_t::SlowHome
float SlowHome
Скорость второго движения.
Definition: ximc.h:1375
calibration_settings_t::CSS1_B
float CSS1_B
Коэффициент сдвига для аналоговых измерений тока в обмотке A.
Definition: ximc.h:2012
power_settings_t::CurrentSetTime
unsigned int CurrentSetTime
Время в мс, требуемое для набора номинального тока от 0% до 100%.
Definition: ximc.h:1562
status_t::EncSts
unsigned int EncSts
Состояние энкодера.
Definition: ximc.h:2213
chart_data_t::AveragedPowerRatio
int AveragedPowerRatio
Отношение подаваемой на мотор мощности к номинальной мощности, в процентах.
Definition: ximc.h:2302
get_encoder_information
result_t XIMC_API get_encoder_information(device_t id, encoder_information_t *encoder_information)
Устарело.
emf_settings_t::Km
float Km
Электромеханический коэффициент двигателя.
Definition: ximc.h:2070
edges_settings_t
Настройки границ.
Definition: ximc.h:1604
get_chart_data
result_t XIMC_API get_chart_data(device_t id, chart_data_t *chart_data)
Команда чтения состояния обмоток и других нечасто используемых данных.
get_sync_in_settings
result_t XIMC_API get_sync_in_settings(device_t id, sync_in_settings_t *sync_in_settings)
Чтение настроек для входного импульса синхронизации.
entype_settings_t
Настройки типа мотора и типа силового драйвера.
Definition: ximc.h:1540
motor_settings_t::DetentTorque
float DetentTorque
Момент удержания позиции с незапитанными обмотками (мН * м).
Definition: ximc.h:2519
home_settings_t::SlowHome
unsigned int SlowHome
Скорость второго движения (в полных шагах).
Definition: ximc.h:1350
command_reset
result_t XIMC_API command_reset(device_t id)
Перезагрузка контроллера.
get_enumerate_device_stage_name
result_t XIMC_API get_enumerate_device_stage_name(device_enumeration_t device_enumeration, int device_index, stage_name_t *stage_name)
Возвращает имя подвижки для подключенного устройства из перечисления устройств.
get_serial_number
result_t XIMC_API get_serial_number(device_t id, unsigned int *SerialNumber)
Чтение серийного номера контроллера.
set_debug_write
result_t XIMC_API set_debug_write(device_t id, const debug_write_t *debug_write)
Запись данных в прошивку для отладки и поиска неисправностей.
joystick_settings_t::JoyHighEnd
unsigned int JoyHighEnd
Значение в шагах джойстика, соответствующее верхней границе диапазона отклонения устройства.
Definition: ximc.h:1906
motor_settings_t::WindingInductance
float WindingInductance
Индуктивность обмотки DC-двигателя, каждой из двух обмоток шагового двигателя или каждой из трёх обмо...
Definition: ximc.h:2516
stage_settings_t::TravelRange
float TravelRange
Диапазон перемещения (Units).
Definition: ximc.h:2468
edges_settings_calb_t::BorderFlags
unsigned int BorderFlags
Флаги границ.
Definition: ximc.h:1631
globally_unique_identifier_t::UniqueID1
unsigned int UniqueID1
Уникальный ID 1.
Definition: ximc.h:2700
get_ctp_settings
result_t XIMC_API get_ctp_settings(device_t id, ctp_settings_t *ctp_settings)
Чтение настроек контроля позиции(для шагового двигателя).
measurements_t::Length
unsigned int Length
Фактическая длина последовательности.
Definition: ximc.h:2276
sync_in_settings_calb_t::ClutterTime
unsigned int ClutterTime
Минимальная длительность входного импульса синхронизации для защиты от дребезга (мкс).
Definition: ximc.h:1705
status_t::CurT
int CurT
Температура процессора в десятых долях градусов Цельсия.
Definition: ximc.h:2224
chart_data_t::WindingVoltageB
int WindingVoltageB
В случае ШД напряжение на обмотке B (в десятках мВ); в случае бесщеточного - напряжение на второй обм...
Definition: ximc.h:2295
XIMC_CALLCONV
#define XIMC_CALLCONV
Библиотека вызывающая условные макросы.
Definition: ximc.h:46
analog_data_t::B2Voltage_ADC
unsigned int B2Voltage_ADC
"Выходное напряжение на 2 выводе обмотки B" - необработанные данные с АЦП.
Definition: ximc.h:2362
set_position_calb
result_t XIMC_API set_position_calb(device_t id, const set_position_calb_t *the_set_position_calb, const calibration_t *calibration)
Устанавливает произвольное значение положения и значение энкодера всех двигателей с использованием по...
move_settings_t::Accel
unsigned int Accel
Ускорение, заданное в шагах в секунду^2 (ШД) или в оборотах в минуту за секунду (DC).
Definition: ximc.h:1395
emf_settings_t::R
float R
Сопротивление обмоток двигателя.
Definition: ximc.h:2069
motor_settings_t::NominalVoltage
float NominalVoltage
Номинальное напряжение на обмотке (В).
Definition: ximc.h:2510
emf_settings_t
Настройки EMF.
Definition: ximc.h:2066
set_entype_settings
result_t XIMC_API set_entype_settings(device_t id, const entype_settings_t *entype_settings)
Запись информации о типе мотора и типе силового драйвера.
chart_data_t::WindingVoltageA
int WindingVoltageA
В случае ШД напряжение на обмотке A (в десятках мВ); в случае бесщеточного - напряжение на первой обм...
Definition: ximc.h:2294
brake_settings_t::t4
unsigned int t4
Время в мс между включением тормоза и отключением питания мотора.
Definition: ximc.h:1796
secure_settings_t
Структура содержит параметры защиты: критические значения электрических характеристик, флаги управления алгоритмами защиты.
Definition: ximc.h:1577
set_accessories_settings
result_t XIMC_API set_accessories_settings(device_t id, const accessories_settings_t *accessories_settings)
Устарело.
sync_out_settings_t::SyncOutFlags
unsigned int SyncOutFlags
Флаги настроек синхронизации выхода.
Definition: ximc.h:1726
network_settings_t
Настройки сети.
Definition: ximc.h:1969
control_settings_calb_t
Настройки управления с использованием пользовательских единиц.
Definition: ximc.h:1861
globally_unique_identifier_t::UniqueID3
unsigned int UniqueID3
Уникальный ID 3.
Definition: ximc.h:2702
edges_settings_t::LeftBorder
int LeftBorder
Позиция левой границы, используется если установлен флаг BORDER_IS_ENCODER.
Definition: ximc.h:1608
analog_data_t::B1Voltage
int B1Voltage
"Выходное напряжение на 1 выводе обмотки B" - откалиброванные данные (в десятках мВ).
Definition: ximc.h:2374
set_sync_in_settings
result_t XIMC_API set_sync_in_settings(device_t id, const sync_in_settings_t *sync_in_settings)
Запись настроек для входного импульса синхронизации.
engine_settings_t::MicrostepMode
unsigned int MicrostepMode
Флаги параметров микрошагового режима.
Definition: ximc.h:1490
set_stage_information
result_t XIMC_API set_stage_information(device_t id, const stage_information_t *stage_information)
Устарело.
serial_number_t::Release
unsigned int Release
Номер правок этой версии железа.
Definition: ximc.h:2341
get_device_information
result_t XIMC_API get_device_information(device_t id, device_information_t *device_information)
Возвращает информацию об устройстве.
get_stage_name
result_t XIMC_API get_stage_name(device_t id, stage_name_t *stage_name)
Чтение пользовательского имени подвижки из EEPROM.
calibration_settings_t
Калибровочные коэффициенты.
Definition: ximc.h:2009
get_edges_settings
result_t XIMC_API get_edges_settings(device_t id, edges_settings_t *edges_settings)
Чтение настроек границ и концевых выключателей.
entype_settings_t::DriverType
unsigned int DriverType
Флаги, определяющие тип силового драйвера.
Definition: ximc.h:1543
get_init_random
result_t XIMC_API get_init_random(device_t id, init_random_t *init_random)
Чтение случайного числа из контроллера.
set_ctp_settings
result_t XIMC_API set_ctp_settings(device_t id, const ctp_settings_t *ctp_settings)
Запись настроек контроля позиции(для шагового двигателя).
get_device_count
int XIMC_API get_device_count(device_enumeration_t device_enumeration)
Возвращает количество подключенных устройств.
enumerate_devices
device_enumeration_t XIMC_API enumerate_devices(int enumerate_flags, const char *hints)
Поиск и составление списка доступных устройств.
set_position_calb_t::Position
float Position
Позиция двигателя.
Definition: ximc.h:2191
engine_settings_calb_t::NomSpeed
float NomSpeed
Номинальная скорость.
Definition: ximc.h:1516
sync_out_settings_calb_t::Accuracy
float Accuracy
Это окрестность вокруг целевой координаты (в шагах/отсчетах энкодера), попадание в которую считается ...
Definition: ximc.h:1752
get_joystick_settings
result_t XIMC_API get_joystick_settings(device_t id, joystick_settings_t *joystick_settings)
Чтение настроек джойстика.
set_gear_information
result_t XIMC_API set_gear_information(device_t id, const gear_information_t *gear_information)
Устарело.
analog_data_t::ACurrent
int ACurrent
"Ток через обмотку А" - откалиброванные данные (в мА).
Definition: ximc.h:2377
command_clear_fram
result_t XIMC_API command_clear_fram(device_t id)
Очистка FRAM памяти контроллера.
get_power_settings
result_t XIMC_API get_power_settings(device_t id, power_settings_t *power_settings)
Команда чтения параметров питания мотора.
get_entype_settings
result_t XIMC_API get_entype_settings(device_t id, entype_settings_t *entype_settings)
Возвращает информацию о типе мотора и силового драйвера.
command_stop
result_t XIMC_API command_stop(device_t id)
Немедленная остановка двигателя, переход в состояние STOP, ключи в режиме BREAK (обмотки накоротко за...
set_secure_settings
result_t XIMC_API set_secure_settings(device_t id, const secure_settings_t *secure_settings)
Команда записи установок защит.
extio_settings_t::EXTIOModeFlags
unsigned int EXTIOModeFlags
Флаги настройки режимов внешнего ввода/вывода.
Definition: ximc.h:1774
analog_data_t::L
int L
Псевдоиндуктивность обмоток двигателя (для шагового двигателя), в мкГн
Definition: ximc.h:2386
set_uart_settings
result_t XIMC_API set_uart_settings(device_t id, const uart_settings_t *uart_settings)
Команда записи настроек UART.
accessories_settings_t::MBTorque
float MBTorque
Удерживающий момент (мН * м).
Definition: ximc.h:2661
engine_settings_calb_t::EngineFlags
unsigned int EngineFlags
Флаги параметров мотора.
Definition: ximc.h:1517
motor_settings_t::MaxCurrentTime
float MaxCurrentTime
Безопасная длительность максимального тока в обмотке (мс).
Definition: ximc.h:2526
brake_settings_t::BrakeFlags
unsigned int BrakeFlags
Флаги настроек тормоза.
Definition: ximc.h:1797
analog_data_t::Joy_ADC
unsigned int Joy_ADC
Необработанные данные с АЦП джойстика.
Definition: ximc.h:2368
set_edges_settings
result_t XIMC_API set_edges_settings(device_t id, const edges_settings_t *edges_settings)
Запись настроек границ и концевых выключателей.
XIMC_API
#define XIMC_API
Макрос импорта библиотеки.
Definition: ximc.h:31
status_calb_t::MoveSts
unsigned int MoveSts
Флаги состояния движения.
Definition: ximc.h:2244
command_save_robust_settings
result_t XIMC_API command_save_robust_settings(device_t id)
При получении команды контроллер выполняет операцию сохранения важных настроек (калибровочные коэффиц...
logging_callback_stderr_narrow
void XIMC_API logging_callback_stderr_narrow(int loglevel, const wchar_t *message, void *user_data)
Простая функция логирования на stderr в узких (однобайтных) символах
control_settings_calb_t::MaxClickTime
unsigned int MaxClickTime
Максимальное время клика (в мс).
Definition: ximc.h:1865
power_settings_t::HoldCurrent
unsigned int HoldCurrent
Ток мотора в режиме удержания, в процентах от номинального.
Definition: ximc.h:1559
engine_settings_t::StepsPerRev
unsigned int StepsPerRev
Количество полных шагов на оборот (используется только с шаговым двигателем).
Definition: ximc.h:1491
get_nonvolatile_memory
result_t XIMC_API get_nonvolatile_memory(device_t id, nonvolatile_memory_t *nonvolatile_memory)
Чтение пользовательских данных из FRAM.
status_calb_t::CurT
int CurT
Температура процессора в десятых долях градусов Цельсия.
Definition: ximc.h:2256
set_logging_callback
void XIMC_API set_logging_callback(logging_callback_t logging_callback, void *user_data)
Устанавливает функцию обратного вызова для логирования.
calibration_t::MicrostepMode
unsigned int MicrostepMode
Настройка контроллера, определяющая режим пошагового деления.
Definition: ximc.h:326
goto_firmware
result_t XIMC_API goto_firmware(device_t id, uint8_t *ret)
Перезагрузка в прошивку в контроллере
analog_data_t::A2Voltage_ADC
unsigned int A2Voltage_ADC
"Выходное напряжение на 2 выводе обмотки А" - необработанные данные с АЦП.
Definition: ximc.h:2360
hallsensor_settings_t::MaxCurrentConsumption
float MaxCurrentConsumption
Максимальное потребление тока (мА).
Definition: ximc.h:2602
get_brake_settings
result_t XIMC_API get_brake_settings(device_t id, brake_settings_t *brake_settings)
Чтение настроек управления тормозом.
command_left
result_t XIMC_API command_left(device_t id)
При получении команды "left" двигатель начинает смещаться, с заранее установленными параметрами (скор...
free_enumerate_devices
result_t XIMC_API free_enumerate_devices(device_enumeration_t device_enumeration)
Освобождает память, выделенную enumerate_devices.
get_uart_settings
result_t XIMC_API get_uart_settings(device_t id, uart_settings_t *uart_settings)
Команда чтения настроек UART.
set_correction_table
result_t XIMC_API set_correction_table(device_t id, const char *namefile)
Команда загрузки корректирующей таблицы из текстового файла.
edges_settings_t::EnderFlags
unsigned int EnderFlags
Флаги концевых выключателей.
Definition: ximc.h:1607
command_sstp
result_t XIMC_API command_sstp(device_t id)
Плавная остановка.
get_control_settings_calb
result_t XIMC_API get_control_settings_calb(device_t id, control_settings_calb_t *control_settings_calb, const calibration_t *calibration)
Чтение настроек управления мотором с использованием пользовательских единиц.
command_right
result_t XIMC_API command_right(device_t id)
При получении команды "rigt" двигатель начинает смещаться, с заранее установленными параметрами (скор...
brake_settings_t::t3
unsigned int t3
Время в мс между остановкой мотора и включением тормоза.
Definition: ximc.h:1795
analog_data_t::BCurrent_ADC
unsigned int BCurrent_ADC
"Ток через обмотку B" - необработанные данные с АЦП.
Definition: ximc.h:2365
sync_in_settings_t::uPosition
int uPosition
Дробная часть позиции или смещения в микрошагах.
Definition: ximc.h:1683
status_calb_t::Iusb
int Iusb
Ток потребления по USB, мА.
Definition: ximc.h:2254
stage_settings_t
Устарело.
Definition: ximc.h:2463
control_settings_calb_t::DeltaPosition
float DeltaPosition
Смещение (дельта) позиции
Definition: ximc.h:1867
globally_unique_identifier_t::UniqueID0
unsigned int UniqueID0
Уникальный ID 0.
Definition: ximc.h:2699
chart_data_t::WindingCurrentA
int WindingCurrentA
В случае ШД - ток в обмотке A (в мA); в случае бесщеточного - ток в первой обмотке; в случае DC - в е...
Definition: ximc.h:2297
sync_out_settings_t::SyncOutPulseSteps
unsigned int SyncOutPulseSteps
Определяет длительность выходных импульсов в шагах/импульсах энкодера, когда установлен флаг SYNCOUT_...
Definition: ximc.h:1727
home_settings_calb_t::HomeFlags
unsigned int HomeFlags
Флаги настроек команды home.
Definition: ximc.h:1377
move_settings_calb_t::Accel
float Accel
Ускорение
Definition: ximc.h:1427
result_t
int result_t
Тип, определяющий результат выполнения команды.
Definition: ximc.h:117
sync_in_settings_calb_t::Position
float Position
Желаемая позиция или смещение.
Definition: ximc.h:1706
engine_settings_calb_t::NomCurrent
unsigned int NomCurrent
Номинальный ток через мотор (в мА).
Definition: ximc.h:1515
home_settings_calb_t
Настройки калибровки позиции с использованием пользовательских единиц.
Definition: ximc.h:1372
motor_settings_t::TorqueConstant
float TorqueConstant
Константа крутящего момента, определяющая коэффициент пропорциональности максимального момента силы р...
Definition: ximc.h:2520
analog_data_t::Enc_Check
int Enc_Check
Напряжение на линии проверки типа энкодера, экспонениально сглаженные данные АЦП. ...
Definition: ximc.h:2383
analog_data_t::B2Voltage
int B2Voltage
"Выходное напряжение на 2 выводе обмотки B" - откалиброванные данные (в десятках мВ).
Definition: ximc.h:2375
engine_settings_t
Ограничения и настройки движения, связанные с двигателем.
Definition: ximc.h:1482
init_random_t
Случайный ключ.
Definition: ximc.h:2683
set_home_settings
result_t XIMC_API set_home_settings(device_t id, const home_settings_t *home_settings)
Команда записи настроек для подхода в home position.
device_network_information_t::ipv4
uint32_t ipv4
IPv4-адрес, передаваемый в сетевом байтовом порядке (big-endian byte order)
Definition: ximc.h:338
calibration_t
Структура калибровок
Definition: ximc.h:296
analog_data_t::A2Voltage
int A2Voltage
"Выходное напряжение на 2 выводе обмотки А" - откалиброванные данные (в десятках мВ).
Definition: ximc.h:2373
stage_settings_t::MaxCurrentConsumption
float MaxCurrentConsumption
Максимальный ток потребления (А).
Definition: ximc.h:2471
command_zero
result_t XIMC_API command_zero(device_t id)
Устанавливает текущую позицию равной 0.
has_firmware
result_t XIMC_API has_firmware(const char *uri, uint8_t *ret)
Проверка наличия прошивки в контроллере
get_stage_settings
result_t XIMC_API get_stage_settings(device_t id, stage_settings_t *stage_settings)
Устарело.
service_command_updf
result_t XIMC_API service_command_updf(device_t id)
Команда переводит контроллер в режим обновления прошивки.
move_settings_t
Настройки движения.
Definition: ximc.h:1391
status_t::uCurPosition
int uCurPosition
Дробная часть текущей позиции в микрошагах.
Definition: ximc.h:2216
reset_locks
result_t XIMC_API reset_locks()
Сбрасывает ошибку неправильной передачи данных.
device_information_t::Release
unsigned int Release
Номер правок этой версии железа.
Definition: ximc.h:2322
controller_name_t
Пользовательское имя контроллера и флаги настройки.
Definition: ximc.h:2028
stage_information_t
Устарело.
Definition: ximc.h:2446
get_sync_out_settings_calb
result_t XIMC_API get_sync_out_settings_calb(device_t id, sync_out_settings_calb_t *sync_out_settings_calb, const calibration_t *calibration)
Чтение настроек для выходного импульса синхронизации с использованием пользовательских единиц...
device_information_t::Minor
unsigned int Minor
Второстепенный номер версии железа.
Definition: ximc.h:2321
home_settings_t::HomeFlags
unsigned int HomeFlags
Флаги настроек команды home.
Definition: ximc.h:1354
set_stage_settings
result_t XIMC_API set_stage_settings(device_t id, const stage_settings_t *stage_settings)
Устарело.
get_position
result_t XIMC_API get_position(device_t id, get_position_t *the_get_position)
Считывает значение положения в шагах и микрошагах для шагового двигателя и в шагах энкодера всех двиг...
calibration_settings_t::CSS1_A
float CSS1_A
Коэффициент масштабирования для аналоговых измерений тока в обмотке A.
Definition: ximc.h:2011
get_engine_settings
result_t XIMC_API get_engine_settings(device_t id, engine_settings_t *engine_settings)
Чтение настроек мотора.
set_position_calb_t::PosFlags
unsigned int PosFlags
Флаги установки положения.
Definition: ximc.h:2193
joystick_settings_t::JoyLowEnd
unsigned int JoyLowEnd
Значение в шагах джойстика, соответствующее нижней границе диапазона отклонения устройства.
Definition: ximc.h:1904
msec_sleep
void XIMC_API msec_sleep(unsigned int msec)
Приостанавливает работу на указанное время
hallsensor_settings_t::MaxOperatingFrequency
float MaxOperatingFrequency
Максимальная частота (кГц).
Definition: ximc.h:2599
pid_settings_t::Kdf
float Kdf
Дифференциальный коэффициент ПИД контура по позиции для BLDC.
Definition: ximc.h:1661
get_position_calb_t::EncPosition
long_t EncPosition
Позиция энкодера.
Definition: ximc.h:2154
device_information_t
Информации о контроллере.
Definition: ximc.h:2315
brake_settings_t
Настройки тормоза.
Definition: ximc.h:1791
power_settings_t::CurrReductDelay
unsigned int CurrReductDelay
Время в мс от перехода в состояние STOP до уменьшения тока.
Definition: ximc.h:1560
status_calb_t
Состояние устройства с использованием пользовательских единиц.
Definition: ximc.h:2242
set_motor_information
result_t XIMC_API set_motor_information(device_t id, const motor_information_t *motor_information)
Устарело.
close_device
result_t XIMC_API close_device(device_t *id)
Закрывает устройство
analog_data_t::ACurrent_ADC
unsigned int ACurrent_ADC
"Ток через обмотку А" - необработанные данные с АЦП.
Definition: ximc.h:2364
move_settings_t::MoveFlags
unsigned int MoveFlags
Флаги параметров движения.
Definition: ximc.h:1399
command_eeread_settings
result_t XIMC_API command_eeread_settings(device_t id)
Чтение настроек контроллера из EEPROM памяти позиционера.
status_calb_t::CurPosition
float CurPosition
Первичное поле, в котором хранится текущая позиция, как бы ни была устроена обратная связь...
Definition: ximc.h:2249
set_hallsensor_information
result_t XIMC_API set_hallsensor_information(device_t id, const hallsensor_information_t *hallsensor_information)
Устарело.
engine_settings_t::EngineFlags
unsigned int EngineFlags
Флаги параметров мотора.
Definition: ximc.h:1488
motor_settings_t::MechanicalTimeConstant
float MechanicalTimeConstant
Механическая постоянная времени (мс).
Definition: ximc.h:2523
command_read_robust_settings
result_t XIMC_API command_read_robust_settings(device_t id)
Чтение важных настроек (калибровочные коэффициенты и т.
encoder_settings_t::MaxCurrentConsumption
float MaxCurrentConsumption
Максимальное потребление тока (мА).
Definition: ximc.h:2564
motor_settings_t::WindingResistance
float WindingResistance
Сопротивление обмотки DC-двигателя, каждой из двух обмоток шагового двигателя или каждой из трёх обмо...
Definition: ximc.h:2515
motor_settings_t::Phases
unsigned int Phases
Количество фаз у BLDC-двигателя.
Definition: ximc.h:2509
motor_settings_t::MaxSpeed
float MaxSpeed
Максимальная разрешённая скорость для шаговых двигателей (шаг/с) или для DC- и BLDC-двигателей (об/ми...
Definition: ximc.h:2524
stage_settings_t::LeadScrewPitch
float LeadScrewPitch
Шаг ходового винта в мм.
Definition: ximc.h:2465
accessories_settings_t
Устарело.
Definition: ximc.h:2656
control_settings_calb_t::Flags
unsigned int Flags
Флаги управления.
Definition: ximc.h:1866
move_settings_t::Decel
unsigned int Decel
Торможение, заданное в шагах в секунду^2 (ШД) или в оборотах в минуту за секунду (DC).
Definition: ximc.h:1396
get_edges_settings_calb
result_t XIMC_API get_edges_settings_calb(device_t id, edges_settings_calb_t *edges_settings_calb, const calibration_t *calibration)
Чтение настроек границ и концевых выключателей с использованием пользовательских единиц.
motor_settings_t::NoLoadSpeed
float NoLoadSpeed
Скорость в холостом режиме (об/мин).
Definition: ximc.h:2528
status_t::EncPosition
long_t EncPosition
Текущая позиция по данным с энкодера в импульсах энкодера используется только если энкодер установлен...
Definition: ximc.h:2217
device_network_information_t::locked_time
time_t locked_time
время, в которое была получена блокировка (UTC, микросекунды с момента начала эпохи) ...
Definition: ximc.h:344
measurements_t
Структура содержит последовательность измеренных параметров движения оси – скоростей и ошибок по поз...
Definition: ximc.h:2272
ctp_settings_t::CTPFlags
unsigned int CTPFlags
Флаги контроля позиции.
Definition: ximc.h:1933
set_pid_settings
result_t XIMC_API set_pid_settings(device_t id, const pid_settings_t *pid_settings)
Запись ПИД-коэффициентов.
encoder_settings_t
Устарело.
Definition: ximc.h:2559
set_brake_settings
result_t XIMC_API set_brake_settings(device_t id, const brake_settings_t *brake_settings)
Запись настроек управления тормозом.
get_firmware_version
result_t XIMC_API get_firmware_version(device_t id, unsigned int *Major, unsigned int *Minor, unsigned int *Release)
Чтение номера версии прошивки контроллера.
uart_settings_t::Speed
unsigned int Speed
Cкорость UART (в бодах)
Definition: ximc.h:1952
pid_settings_t::Kpf
float Kpf
Пропорциональный коэффициент ПИД контура по позиции для BLDC.
Definition: ximc.h:1659
feedback_settings_t::IPS
unsigned int IPS
Количество отсчётов энкодера на оборот вала.
Definition: ximc.h:1326
analog_data_t::Temp_ADC
unsigned int Temp_ADC
Напряжение с датчика температуры, необработанные данные с АЦП.
Definition: ximc.h:2367
feedback_settings_t::FeedbackType
unsigned int FeedbackType
Тип обратной связи.
Definition: ximc.h:1327
home_settings_t::uHomeDelta
int uHomeDelta
Дробная часть расстояния отхода от точки останова в микрошагах (используется только с шаговым двигате...
Definition: ximc.h:1353
status_calb_t::WindSts
unsigned int WindSts
Состояние обмоток.
Definition: ximc.h:2248
move_settings_calb_t::MoveFlags
unsigned int MoveFlags
Флаги параметров движения.
Definition: ximc.h:1463
set_encoder_information
result_t XIMC_API set_encoder_information(device_t id, const encoder_information_t *encoder_information)
Устарело.
edges_settings_t::BorderFlags
unsigned int BorderFlags
Флаги границ.
Definition: ximc.h:1606
calibration_settings_t::FullCurrent_A
float FullCurrent_A
Коэффициент масштабирования для аналоговых измерений полного тока.
Definition: ximc.h:2015
get_measurements
result_t XIMC_API get_measurements(device_t id, measurements_t *measurements)
Команда чтения буфера данных для построения графиков скорости и ошибки следования.
analog_data_t::FullCurrent
int FullCurrent
"Полный ток" - откалиброванные данные (в мА).
Definition: ximc.h:2379
set_password_settings
result_t XIMC_API set_password_settings(device_t id, const password_settings_t *password_settings)
Команда записи пароля к веб-странице.
set_position_t::EncPosition
long_t EncPosition
Позиция энкодера.
Definition: ximc.h:2173
gear_settings_t
Устарело.
Definition: ximc.h:2634
get_feedback_settings
result_t XIMC_API get_feedback_settings(device_t id, feedback_settings_t *feedback_settings)
Чтение настроек обратной связи
set_joystick_settings
result_t XIMC_API set_joystick_settings(device_t id, const joystick_settings_t *joystick_settings)
Запись настроек джойстика.
emf_settings_t::L
float L
Индуктивность обмоток двигателя.
Definition: ximc.h:2068
get_move_settings_calb
result_t XIMC_API get_move_settings_calb(device_t id, move_settings_calb_t *move_settings_calb, const calibration_t *calibration)
Команда чтения настроек перемещения с использованием пользовательских единиц (скорость, ускорение, порог и т.
status_calb_t::Ipwr
int Ipwr
Ток потребления силовой части, мА.
Definition: ximc.h:2252
gear_settings_t::RatedInputTorque
float RatedInputTorque
Максимальный крутящий момент (Н * м).
Definition: ximc.h:2638
command_movr_calb
result_t XIMC_API command_movr_calb(device_t id, float DeltaPosition, const calibration_t *calibration)
Перемещение на заданное смещение с использованием пользовательских единиц.
chart_data_t::Pot
unsigned int Pot
Значение на аналоговом входе.
Definition: ximc.h:2300
set_serial_number
result_t XIMC_API set_serial_number(device_t id, const serial_number_t *serial_number)
Запись серийного номера и версии железа во flash память контроллера.
secure_settings_t::CriticalUusb
unsigned int CriticalUusb
Устарело.
Definition: ximc.h:1584
feedback_settings_t::FeedbackFlags
unsigned int FeedbackFlags
Флаги обратной связи.
Definition: ximc.h:1328
set_feedback_settings
result_t XIMC_API set_feedback_settings(device_t id, const feedback_settings_t *feedback_settings)
Запись настроек обратной связи.
get_network_settings
result_t XIMC_API get_network_settings(device_t id, network_settings_t *network_settings)
Команда чтения сететвых настроек.
sync_in_settings_t::Speed
unsigned int Speed
Заданная скорость (для ШД: шагов/c, для DC: rpm).
Definition: ximc.h:1684
get_position_t::uPosition
int uPosition
Позиция в микрошагах (используется только с шаговыми двигателями).
Definition: ximc.h:2134
move_settings_calb_t
Настройки движения с использованием пользовательских единиц.
Definition: ximc.h:1413
get_engine_advanced_setup
result_t XIMC_API get_engine_advanced_setup(device_t id, engine_advanced_setup_t *engine_advanced_setup)
Чтение расширенных настроек.
debug_read_t
Отладочные данные.
Definition: ximc.h:2400
get_secure_settings
result_t XIMC_API get_secure_settings(device_t id, secure_settings_t *secure_settings)
Команда записи установок защит.
get_accessories_settings
result_t XIMC_API get_accessories_settings(device_t id, accessories_settings_t *accessories_settings)
Устарело.
joystick_settings_t::JoyFlags
unsigned int JoyFlags
Флаги джойстика.
Definition: ximc.h:1909
move_settings_calb_t::Speed
float Speed
Скорость
Definition: ximc.h:1415
motor_settings_t::SpeedTorqueGradient
float SpeedTorqueGradient
Градиент крутящего момента (об/мин / мН * м).
Definition: ximc.h:2522
analog_data_t::SupVoltage
int SupVoltage
"Напряжение питания ключей Н-моста" - откалиброванные данные (в десятках мВ).
Definition: ximc.h:2376
stage_settings_t::SupplyVoltageMin
float SupplyVoltageMin
Минимальное напряжение питания (В).
Definition: ximc.h:2469
power_settings_t
Настройки питания шагового мотора.
Definition: ximc.h:1557
stage_name_t
Пользовательское имя подвижки.
Definition: ximc.h:2430
motor_settings_t::NominalPower
float NominalPower
Номинальная мощность(Вт).
Definition: ximc.h:2514
engine_settings_calb_t::PeakCurrent
unsigned int PeakCurrent
Номинальный пиковый ток (в мА).
Definition: ximc.h:1521
command_homezero
result_t XIMC_API command_homezero(device_t id)
Запустить процедуру поиска домашней позиции, подождать её завершения и обнулить позицию в конце...
sync_in_settings_calb_t
Настройки входной синхронизации с использованием пользовательских единиц.
Definition: ximc.h:1702
home_settings_t
Настройки калибровки позиции.
Definition: ximc.h:1346
status_t::Flags
unsigned int Flags
Флаги состояния.
Definition: ximc.h:2225
pid_settings_t::KdU
unsigned int KdU
Дифференциальный коэффициент ПИД контура по напряжению
Definition: ximc.h:1658
status_calb_t::EncSts
unsigned int EncSts
Состояние энкодера.
Definition: ximc.h:2247
edges_settings_calb_t::RightBorder
float RightBorder
Позиция правой границы, используется если установлен флаг BORDER_IS_ENCODER.
Definition: ximc.h:1634
calibration_t::A
double A
Коэффициент преобразования, равный количеству миллиметров (или других пользовательских единиц) на оди...
Definition: ximc.h:298
command_save_settings
result_t XIMC_API command_save_settings(device_t id)
При получении команды контроллер выполняет операцию сохранения текущих настроек во встроенную энергон...
status_t
Состояние устройства.
Definition: ximc.h:2208
extio_settings_t
Настройки EXTIO.
Definition: ximc.h:1771
nonvolatile_memory_t
Пользовательские данные для сохранения во FRAM.
Definition: ximc.h:2043
joystick_settings_t::ExpFactor
unsigned int ExpFactor
Фактор экспоненциальной нелинейности отклика джойстика.
Definition: ximc.h:1907
encoder_information_t
Устарело.
Definition: ximc.h:2542
status_calb_t::CmdBufFreeSpace
unsigned int CmdBufFreeSpace
Данное поле служебное.
Definition: ximc.h:2259
joystick_settings_t::JoyCenter
unsigned int JoyCenter
Значение в шагах джойстика, соответствующее неотклонённому устройству.
Definition: ximc.h:1905
serial_number_t::Minor
unsigned int Minor
Второстепенный номер версии железа.
Definition: ximc.h:2340
get_control_settings
result_t XIMC_API get_control_settings(device_t id, control_settings_t *control_settings)
Чтение настроек управления мотором.
set_gear_settings
result_t XIMC_API set_gear_settings(device_t id, const gear_settings_t *gear_settings)
Устарело.
emf_settings_t::BackEMFFlags
unsigned int BackEMFFlags
Флаги автоопределения характеристик обмоток двигателя.
Definition: ximc.h:2071
engine_settings_t::NomSpeed
unsigned int NomSpeed
Номинальная (максимальная) скорость (в целых шагах/с или rpm для DC- и шагового двигателя в режиме ве...
Definition: ximc.h:1486
control_settings_t::DeltaPosition
int DeltaPosition
Смещение (дельта) позиции (в полных шагах)
Definition: ximc.h:1832
get_hallsensor_information
result_t XIMC_API get_hallsensor_information(device_t id, hallsensor_information_t *hallsensor_information)
Устарело.
get_bootloader_version
result_t XIMC_API get_bootloader_version(device_t id, unsigned int *Major, unsigned int *Minor, unsigned int *Release)
Чтение номера версии загрузчика контроллера.
sync_in_settings_calb_t::Speed
float Speed
Заданная скорость.
Definition: ximc.h:1707
motor_settings_t::ReservedField
unsigned int ReservedField
Зарезервировано
Definition: ximc.h:2507
chart_data_t::WindingCurrentC
int WindingCurrentC
В случае бесщеточного - ток в третьей обмотке (в мА); в случае ШД и DC не используется.
Definition: ximc.h:2299
serial_number_t
Структура с серийным номером и версией железа.
Definition: ximc.h:2335
power_settings_t::PowerFlags
unsigned int PowerFlags
Флаги параметров питания шагового мотора.
Definition: ximc.h:1563
get_analog_data
result_t XIMC_API get_analog_data(device_t id, analog_data_t *analog_data)
Чтение аналоговых данных, содержащих данные с АЦП и нормированные значения величин.
set_move_settings_calb
result_t XIMC_API set_move_settings_calb(device_t id, const move_settings_calb_t *move_settings_calb, const calibration_t *calibration)
Команда записи настроек перемещения, с использованием пользовательских единиц (скорость, ускорение, порог и т.
accessories_settings_t::MBSettings
unsigned int MBSettings
Флаги настроек энкодера.
Definition: ximc.h:2662
home_settings_calb_t::HomeDelta
float HomeDelta
Расстояние отхода от точки останова.
Definition: ximc.h:1376
encoder_settings_t::PPR
unsigned int PPR
Количество отсчётов на оборот
Definition: ximc.h:2565
motor_settings_t
Устарело.
Definition: ximc.h:2504
status_calb_t::Flags
unsigned int Flags
Флаги состояния.
Definition: ximc.h:2257
engine_settings_t::Antiplay
int Antiplay
Количество шагов двигателя или импульсов энкодера, на которое позиционер будет отъезжать от заданной ...
Definition: ximc.h:1489
chart_data_t::Joy
unsigned int Joy
Положение джойстика в десятитысячных долях.
Definition: ximc.h:2301
set_extended_settings
result_t XIMC_API set_extended_settings(device_t id, const extended_settings_t *extended_settings)
Запись расширенных настроек.
get_controller_name
result_t XIMC_API get_controller_name(device_t id, controller_name_t *controller_name)
Чтение пользовательского имени контроллера и настроек из FRAM.
secure_settings_t::CriticalIpwr
unsigned int CriticalIpwr
Максимальный ток силовой части, вызывающий состояние ALARM, в мА.
Definition: ximc.h:1580
ximc_version
void XIMC_API ximc_version(char *version)
Возвращает версию библиотеки
set_position_t::PosFlags
unsigned int PosFlags
Флаги установки положения.
Definition: ximc.h:2174
encoder_settings_t::EncoderSettings
unsigned int EncoderSettings
Флаги настроек энкодера.
Definition: ximc.h:2566
extended_settings_t
Настройки EST.
Definition: ximc.h:2112
analog_data_t::Temp
int Temp
Температура, откалиброванные данные (в десятых долях градуса Цельсия).
Definition: ximc.h:2380
motor_information_t
Устарело.
Definition: ximc.h:2487
extio_settings_t::EXTIOSetupFlags
unsigned int EXTIOSetupFlags
Флаги настройки работы внешнего ввода/вывода.
Definition: ximc.h:1773
hallsensor_information_t
Устарело.
Definition: ximc.h:2580
move_settings_t::Speed
unsigned int Speed
Заданная скорость (для ШД: шагов/c, для DC: rpm).
Definition: ximc.h:1393
globally_unique_identifier_t::UniqueID2
unsigned int UniqueID2
Уникальный ID 2.
Definition: ximc.h:2701
chart_data_t::WindingCurrentB
int WindingCurrentB
В случае ШД - ток в обмотке B (в мА); в случае бесщеточного - ток в второй обмотке; в случае DC не ис...
Definition: ximc.h:2298
get_extended_settings
result_t XIMC_API get_extended_settings(device_t id, extended_settings_t *extended_settings)
Чтение расширенных настроек.
get_emf_settings
result_t XIMC_API get_emf_settings(device_t id, emf_settings_t *emf_settings)
Чтение электромеханических настроек шагового двигателя.
get_pid_settings
result_t XIMC_API get_pid_settings(device_t id, pid_settings_t *pid_settings)
Чтение ПИД-коэффициентов.
get_motor_information
result_t XIMC_API get_motor_information(device_t id, motor_information_t *motor_information)
Устарело.
controller_name_t::CtrlFlags
unsigned int CtrlFlags
Флаги настроек контроллера.
Definition: ximc.h:2031
set_network_settings
result_t XIMC_API set_network_settings(device_t id, const network_settings_t *network_settings)
Команда записи сететвых настроек.
accessories_settings_t::MBRatedCurrent
float MBRatedCurrent
Номинальный ток для управления магнитным тормозом (А).
Definition: ximc.h:2660
status_t::MvCmdSts
unsigned int MvCmdSts
Состояние команды движения.
Definition: ximc.h:2211
motor_settings_t::NominalTorque
float NominalTorque
Номинальный крутящий момент (мН * м).
Definition: ximc.h:2513
get_password_settings
result_t XIMC_API get_password_settings(device_t id, password_settings_t *password_settings)
Команда чтения пароля к веб-странице.
set_controller_name
result_t XIMC_API set_controller_name(device_t id, const controller_name_t *controller_name)
Запись пользовательского имени контроллера и настроек в FRAM.
hallsensor_settings_t::SupplyVoltageMin
float SupplyVoltageMin
Минимальное напряжение питания (В).
Definition: ximc.h:2600
pid_settings_t::Kif
float Kif
Интегральный коэффициент ПИД контура по позиции для BLDC.
Definition: ximc.h:1660
move_settings_calb_t::AntiplaySpeed
float AntiplaySpeed
Скорость в режиме антилюфта
Definition: ximc.h:1451
get_position_calb_t::Position
float Position
Позиция двигателя.
Definition: ximc.h:2153
get_position_t::EncPosition
long_t EncPosition
Позиция энкодера.
Definition: ximc.h:2135
move_settings_t::uSpeed
unsigned int uSpeed
Заданная скорость в единицах деления микрошага в секунду.
Definition: ximc.h:1394
gear_settings_t::MaxOutputBacklash
float MaxOutputBacklash
Выходной люфт редуктора (градус).
Definition: ximc.h:2640
command_home
result_t XIMC_API command_home(device_t id)
Движение в домашнюю позицию.
engine_advanced_setup_t::stepcloseloop_Kw
unsigned int stepcloseloop_Kw
Используется только производителем.
Definition: ximc.h:2092
edges_settings_calb_t
Настройки границ с использованием пользовательских единиц.
Definition: ximc.h:1629
logging_callback_stderr_wide
void XIMC_API logging_callback_stderr_wide(int loglevel, const wchar_t *message, void *user_data)
Простая функция логирования на stderr в широких символах
accessories_settings_t::LimitSwitchesSettings
unsigned int LimitSwitchesSettings
Флаги настроек температурного датчика.
Definition: ximc.h:2668
motor_settings_t::RotorInertia
float RotorInertia
Инерция ротора (г * cм2).
Definition: ximc.h:2517
control_settings_t
Настройки управления.
Definition: ximc.h:1825
encoder_settings_t::MaxOperatingFrequency
float MaxOperatingFrequency
Максимальная частота (кГц).
Definition: ximc.h:2561
status_calb_t::Upwr
int Upwr
Напряжение на силовой части, десятки мВ.
Definition: ximc.h:2253
probe_device
result_t XIMC_API probe_device(const char *uri)
Проверяет, является ли устройство с уникальным идентификатором uri XIMC-совместимым.
accessories_settings_t::TSMax
float TSMax
Максимальная измеряемая температура (градусов Цельсия) Тип данных: float.
Definition: ximc.h:2665
set_motor_settings
result_t XIMC_API set_motor_settings(device_t id, const motor_settings_t *motor_settings)
Устарело.
command_wait_for_stop
result_t XIMC_API command_wait_for_stop(device_t id, uint32_t refresh_interval_ms)
Ожидание остановки контроллера
get_extio_settings
result_t XIMC_API get_extio_settings(device_t id, extio_settings_t *extio_settings)
Команда чтения параметров настройки режимов внешнего ввода/вывода.
analog_data_t::B1Voltage_ADC
unsigned int B1Voltage_ADC
"Выходное напряжение на 1 выводе обмотки B" - необработанные данные с АЦП.
Definition: ximc.h:2361
set_position_calb_t
Данные о позиции с использованием пользовательских единиц.
Definition: ximc.h:2189
secure_settings_t::CriticalUpwr
unsigned int CriticalUpwr
Максимальное напряжение на силовой части, вызывающее состояние ALARM, десятки мВ. ...
Definition: ximc.h:1581
analog_data_t::Pot_ADC
unsigned int Pot_ADC
Напряжение на аналоговом входе, необработанные данные с АЦП
Definition: ximc.h:2369
get_globally_unique_identifier
result_t XIMC_API get_globally_unique_identifier(device_t id, globally_unique_identifier_t *globally_unique_identifier)
Считывает уникальный идентификатор каждого чипа, это значение не является случайным.
control_settings_t::MaxClickTime
unsigned int MaxClickTime
Максимальное время клика (в мс).
Definition: ximc.h:1830
password_settings_t
Пароль.
Definition: ximc.h:1990
analog_data_t::SupVoltage_ADC
unsigned int SupVoltage_ADC
"Напряжение питания ключей Н-моста" необработанные данные с АЦП.
Definition: ximc.h:2363
engine_settings_t::PeakCurrent
unsigned int PeakCurrent
Номинальный пиковый ток (в мА).
Definition: ximc.h:1492
get_position_calb
result_t XIMC_API get_position_calb(device_t id, get_position_calb_t *the_get_position_calb, const calibration_t *calibration)
Считывает значение положения в пользовательских единицах для шагового двигателя и в шагах энкодера вс...
get_enumerate_device_serial
result_t XIMC_API get_enumerate_device_serial(device_enumeration_t device_enumeration, int device_index, uint32_t *serial)
Возвращает серийный номер подключенного устройства из перечисления устройств.
set_hallsensor_settings
result_t XIMC_API set_hallsensor_settings(device_t id, const hallsensor_settings_t *hallsensor_settings)
Устарело.
status_calb_t::PWRSts
unsigned int PWRSts
Флаги состояния питания шагового мотора.
Definition: ximc.h:2246
gear_settings_t::InputInertia
float InputInertia
Эквивалентная входная инерция редуктора(г * см2).
Definition: ximc.h:2641
set_position_t::uPosition
int uPosition
Позиция в микрошагах (используется только с шаговыми двигателями).
Definition: ximc.h:2172
sync_out_settings_t
Настройки выходной синхронизации.
Definition: ximc.h:1724
get_enumerate_device_information
result_t XIMC_API get_enumerate_device_information(device_enumeration_t device_enumeration, int device_index, device_information_t *device_information)
Возвращает информацию о подключенном устройстве из перечисления устройств.
accessories_settings_t::TSGrad
float TSGrad
Температурный градиент (В/градусов Цельсия).
Definition: ximc.h:2666
get_enumerate_device_controller_name
result_t XIMC_API get_enumerate_device_controller_name(device_enumeration_t device_enumeration, int device_index, controller_name_t *controller_name)
Возвращает имя подключенного устройства из перечисления устройств.
set_calibration_settings
result_t XIMC_API set_calibration_settings(device_t id, const calibration_settings_t *calibration_settings)
Команда записи калибровочных коэффициентов.
stage_settings_t::MaxSpeed
float MaxSpeed
Максимальная скорость (Units/с).
Definition: ximc.h:2467
motor_settings_t::NominalCurrent
float NominalCurrent
Максимальный постоянный ток в обмотке для DC- и BLDC-двигателей, номинальный ток в обмотке для шаговы...
Definition: ximc.h:2511
sync_out_settings_t::Accuracy
unsigned int Accuracy
Это окрестность вокруг целевой координаты, попадание в которую считается попаданием в целевую позицию...
Definition: ximc.h:1729
command_movr
result_t XIMC_API command_movr(device_t id, int DeltaPosition, int uDeltaPosition)
Перемещение на заданное смещение.
set_nonvolatile_memory
result_t XIMC_API set_nonvolatile_memory(device_t id, const nonvolatile_memory_t *nonvolatile_memory)
Запись пользовательских данных во FRAM.
ctp_settings_t::CTPMinError
unsigned int CTPMinError
Минимальное отличие шагов ШД от положения энкодера, устанавливающее флаг STATE_RT_ERROR.
Definition: ximc.h:1932
set_edges_settings_calb
result_t XIMC_API set_edges_settings_calb(device_t id, const edges_settings_calb_t *edges_settings_calb, const calibration_t *calibration)
Запись настроек границ и концевых выключателей с использованием пользовательских единиц.
status_t::Uusb
int Uusb
Напряжение на USB, десятки мВ.
Definition: ximc.h:2223
power_settings_t::PowerOffDelay
unsigned int PowerOffDelay
Время в с от перехода в состояние STOP до отключения питания мотора.
Definition: ximc.h:1561
serial_number_t::Major
unsigned int Major
Основной номер версии железа.
Definition: ximc.h:2339
device_enumeration_t
uint32_t device_enumeration_t
Тип, определяющий структуру данных о всех контроллерах, обнаруженных при опросе устройств.
Definition: ximc.h:130
status_t::MoveSts
unsigned int MoveSts
Флаги состояния движения.
Definition: ximc.h:2210
brake_settings_t::t2
unsigned int t2
Время в мс между отключением тормоза и готовностью к движению.
Definition: ximc.h:1794
get_enumerate_device_network_information
result_t XIMC_API get_enumerate_device_network_information(device_enumeration_t device_enumeration, int device_index, device_network_information_t *device_network_information)
Возвращает сетевую информацию о подключенном устройстве из перечисления устройств.
motor_settings_t::NominalSpeed
float NominalSpeed
Не используется.
Definition: ximc.h:2512
engine_settings_calb_t::Antiplay
float Antiplay
Количество шагов двигателя или импульсов энкодера, на которое позиционер будет отъезжать от заданной ...
Definition: ximc.h:1518
gear_settings_t::Efficiency
float Efficiency
КПД редуктора (%).
Definition: ximc.h:2642
pid_settings_t
Настройки ПИД.
Definition: ximc.h:1654
control_settings_t::Flags
unsigned int Flags
Флаги управления.
Definition: ximc.h:1831
sync_in_settings_t
Настройки входной синхронизации.
Definition: ximc.h:1678
analog_data_t::Pot
int Pot
Аналоговый вход во внутренних единицах.
Definition: ximc.h:2382
get_hallsensor_settings
result_t XIMC_API get_hallsensor_settings(device_t id, hallsensor_settings_t *hallsensor_settings)
Устарело.
analog_data_t::A1Voltage_ADC
unsigned int A1Voltage_ADC
"Выходное напряжение на 1 выводе обмотки А" - необработанные данные с АЦП.
Definition: ximc.h:2359
get_sync_out_settings
result_t XIMC_API get_sync_out_settings(device_t id, sync_out_settings_t *sync_out_settings)
Чтение настроек для выходного импульса синхронизации.
joystick_settings_t
Настройки джойстика.
Definition: ximc.h:1902
set_position_calb_t::EncPosition
long_t EncPosition
Позиция энкодера.
Definition: ximc.h:2192
command_power_off
result_t XIMC_API command_power_off(device_t id)
Немедленное отключение питания двигателя вне зависимости от его состояния.
set_engine_advanced_setup
result_t XIMC_API set_engine_advanced_setup(device_t id, const engine_advanced_setup_t *engine_advanced_setup)
Запись расширенных настроек.
gear_settings_t::ReductionOut
float ReductionOut
Выходной коэффициент редуктора.
Definition: ximc.h:2637
secure_settings_t::CriticalIusb
unsigned int CriticalIusb
Устарело.
Definition: ximc.h:1583
pchar
char * pchar
Не обращайте на меня внимание
Definition: ximc.h:5287
engine_advanced_setup_t
Настройки EAS.
Definition: ximc.h:2090
motor_settings_t::StallTorque
float StallTorque
Крутящий момент удержания позиции для шагового двигателя или крутящий момент при неподвижном роторе д...
Definition: ximc.h:2518
set_sync_in_settings_calb
result_t XIMC_API set_sync_in_settings_calb(device_t id, const sync_in_settings_calb_t *sync_in_settings_calb, const calibration_t *calibration)
Запись настроек для входного импульса синхронизации с использованием пользовательских единиц...
get_position_t::Position
int Position
Позиция в основных шагах двигателя
Definition: ximc.h:2133