25 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT) 26 #define XIMC_API __stdcall 28 #ifdef LIBXIMC_EXPORTS 29 #define XIMC_API __attribute__((visibility("default"))) 43 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT) 44 #define XIMC_CALLCONV __stdcall 57 #if defined(_WIN32) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) || defined(MATLAB_IMPORT) 58 #define XIMC_RETTYPE unsigned int 60 #define XIMC_RETTYPE void* 64 #if !defined(XIMC_NO_STDINT) 66 #if ( (defined(_MSC_VER) && (_MSC_VER < 1600)) || defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT)) && !defined(MATLAB_IMPORT) 68 typedef __int8 int8_t;
69 typedef __int16 int16_t;
70 typedef __int32 int32_t;
71 typedef __int64 int64_t;
72 typedef unsigned __int8 uint8_t;
73 typedef unsigned __int16 uint16_t;
74 typedef unsigned __int32 uint32_t;
75 typedef unsigned __int64 uint64_t;
81 #if defined(LABVIEW64_IMPORT) || defined(LABVIEW32_IMPORT) 82 typedef unsigned __int64 ulong_t;
83 typedef __int64 long_t;
85 typedef unsigned long long ulong_t;
86 typedef long long long_t;
93 #if defined(__cplusplus) 127 #if defined(_WIN64) || defined(__LP64__) || defined(LABVIEW64_IMPORT) 142 #define device_undefined -1 171 #define result_error -1 181 #define result_not_implemented -2 191 #define result_value_error -3 201 #define result_nodevice -4 222 #define LOGLEVEL_ERROR 0x01 231 #define LOGLEVEL_WARNING 0x02 240 #define LOGLEVEL_INFO 0x03 249 #define LOGLEVEL_DEBUG 0x04 342 char locker_username[16];
343 char locker_nodename[16];
350 #define LIBXIMC_VERSION 3.0.3 355 #define LIBXIMC_PROTOCOL_VERSION 20.14 376 #define ENUMERATE_PROBE 0x01 377 #define ENUMERATE_ALL_COM 0x02 378 #define ENUMERATE_NETWORK 0x04 398 #define MOVE_STATE_MOVING 0x01 399 #define MOVE_STATE_TARGET_SPEED 0x02 400 #define MOVE_STATE_ANTIPLAY 0x04 419 #define EEPROM_PRECEDENCE 0x01 439 #define PWR_STATE_UNKNOWN 0x00 440 #define PWR_STATE_OFF 0x01 441 #define PWR_STATE_NORM 0x03 442 #define PWR_STATE_REDUCT 0x04 443 #define PWR_STATE_MAX 0x05 465 #define STATE_CONTR 0x000003F 466 #define STATE_ERRC 0x0000001 467 #define STATE_ERRD 0x0000002 468 #define STATE_ERRV 0x0000004 469 #define STATE_EEPROM_CONNECTED 0x0000010 470 #define STATE_IS_HOMED 0x0000020 471 #define STATE_SECUR 0x1B3FFC0 472 #define STATE_ALARM 0x0000040 473 #define STATE_CTP_ERROR 0x0000080 474 #define STATE_POWER_OVERHEAT 0x0000100 475 #define STATE_CONTROLLER_OVERHEAT 0x0000200 476 #define STATE_OVERLOAD_POWER_VOLTAGE 0x0000400 477 #define STATE_OVERLOAD_POWER_CURRENT 0x0000800 478 #define STATE_OVERLOAD_USB_VOLTAGE 0x0001000 479 #define STATE_LOW_USB_VOLTAGE 0x0002000 480 #define STATE_OVERLOAD_USB_CURRENT 0x0004000 481 #define STATE_BORDERS_SWAP_MISSET 0x0008000 482 #define STATE_LOW_POWER_VOLTAGE 0x0010000 483 #define STATE_H_BRIDGE_FAULT 0x0020000 484 #define STATE_WINDING_RES_MISMATCH 0x0100000 485 #define STATE_ENCODER_FAULT 0x0200000 486 #define STATE_ENGINE_RESPONSE_ERROR 0x0800000 487 #define STATE_EXTIO_ALARM 0x1000000 509 #define STATE_DIG_SIGNAL 0xFFFF 510 #define STATE_RIGHT_EDGE 0x0001 511 #define STATE_LEFT_EDGE 0x0002 512 #define STATE_BUTTON_RIGHT 0x0004 513 #define STATE_BUTTON_LEFT 0x0008 514 #define STATE_GPIO_PINOUT 0x0010 515 #define STATE_GPIO_LEVEL 0x0020 516 #define STATE_BRAKE 0x0200 517 #define STATE_REV_SENSOR 0x0400 518 #define STATE_SYNC_INPUT 0x0800 519 #define STATE_SYNC_OUTPUT 0x1000 520 #define STATE_ENC_A 0x2000 521 #define STATE_ENC_B 0x4000 553 #define ENC_STATE_ABSENT 0x00 554 #define ENC_STATE_UNKNOWN 0x01 555 #define ENC_STATE_MALFUNC 0x02 556 #define ENC_STATE_REVERS 0x03 557 #define ENC_STATE_OK 0x04 577 #define WIND_A_STATE_ABSENT 0x00 578 #define WIND_A_STATE_UNKNOWN 0x01 579 #define WIND_A_STATE_MALFUNC 0x02 580 #define WIND_A_STATE_OK 0x03 581 #define WIND_B_STATE_ABSENT 0x00 582 #define WIND_B_STATE_UNKNOWN 0x10 583 #define WIND_B_STATE_MALFUNC 0x20 584 #define WIND_B_STATE_OK 0x30 606 #define MVCMD_NAME_BITS 0x3F 607 #define MVCMD_UKNWN 0x00 608 #define MVCMD_MOVE 0x01 609 #define MVCMD_MOVR 0x02 610 #define MVCMD_LEFT 0x03 611 #define MVCMD_RIGHT 0x04 612 #define MVCMD_STOP 0x05 613 #define MVCMD_HOME 0x06 614 #define MVCMD_LOFT 0x07 615 #define MVCMD_SSTP 0x08 616 #define MVCMD_ERROR 0x40 617 #define MVCMD_RUNNING 0x80 640 #define RPM_DIV_1000 0x01 663 #define ENGINE_REVERSE 0x01 664 #define ENGINE_CURRENT_AS_RMS 0x02 665 #define ENGINE_MAX_SPEED 0x04 666 #define ENGINE_ANTIPLAY 0x08 667 #define ENGINE_ACCEL_ON 0x10 668 #define ENGINE_LIMIT_VOLT 0x20 669 #define ENGINE_LIMIT_CURR 0x40 670 #define ENGINE_LIMIT_RPM 0x80 694 #define MICROSTEP_MODE_FULL 0x01 695 #define MICROSTEP_MODE_FRAC_2 0x02 696 #define MICROSTEP_MODE_FRAC_4 0x03 697 #define MICROSTEP_MODE_FRAC_8 0x04 698 #define MICROSTEP_MODE_FRAC_16 0x05 699 #define MICROSTEP_MODE_FRAC_32 0x06 700 #define MICROSTEP_MODE_FRAC_64 0x07 701 #define MICROSTEP_MODE_FRAC_128 0x08 702 #define MICROSTEP_MODE_FRAC_256 0x09 726 #define ENGINE_TYPE_NONE 0x00 727 #define ENGINE_TYPE_DC 0x01 728 #define ENGINE_TYPE_2DC 0x02 729 #define ENGINE_TYPE_STEP 0x03 730 #define ENGINE_TYPE_TEST 0x04 731 #define ENGINE_TYPE_BRUSHLESS 0x05 755 #define DRIVER_TYPE_INTEGRATE 0x02 756 #define DRIVER_TYPE_EXTERNAL 0x03 778 #define POWER_REDUCT_ENABLED 0x01 779 #define POWER_OFF_ENABLED 0x02 780 #define POWER_SMOOTH_CURRENT 0x04 802 #define ALARM_ON_DRIVER_OVERHEATING 0x01 803 #define LOW_UPWR_PROTECTION 0x02 804 #define H_BRIDGE_ALERT 0x04 805 #define ALARM_ON_BORDERS_SWAP_MISSET 0x08 806 #define ALARM_FLAGS_STICKING 0x10 807 #define BRAKING_OVERVOLTAGE_PROTECTION 0x20 808 #define ALARM_WINDING_MISMATCH 0x40 809 #define ALARM_ENGINE_RESPONSE 0x80 830 #define SETPOS_IGNORE_POSITION 0x01 831 #define SETPOS_IGNORE_ENCODER 0x02 850 #define FEEDBACK_ENCODER 0x01 851 #define FEEDBACK_EMF 0x04 852 #define FEEDBACK_NONE 0x05 853 #define FEEDBACK_ENCODER_MEDIATED 0x06 872 #define FEEDBACK_ENC_REVERSE 0x01 873 #define FEEDBACK_ENC_ADAPTIVE_HOLDING 0x02 874 #define FEEDBACK_ENC_FILTER_NONE 0x00 875 #define FEEDBACK_ENC_FILTER_WEAK 0x10 876 #define FEEDBACK_ENC_FILTER_MEDIUM 0x20 877 #define FEEDBACK_ENC_FILTER_STRONG 0x30 878 #define FEEDBACK_ENC_FILTER_BITS 0x30 879 #define FEEDBACK_ENC_TYPE_AUTO 0x00 880 #define FEEDBACK_ENC_TYPE_SINGLE_ENDED 0x40 881 #define FEEDBACK_ENC_TYPE_DIFFERENTIAL 0x80 882 #define FEEDBACK_ENC_TYPE_BITS 0xC0 899 #define SYNCIN_ENABLED 0x01 900 #define SYNCIN_INVERT 0x02 901 #define SYNCIN_GOTOPOSITION 0x04 918 #define SYNCOUT_ENABLED 0x01 919 #define SYNCOUT_STATE 0x02 920 #define SYNCOUT_INVERT 0x04 921 #define SYNCOUT_IN_STEPS 0x08 922 #define SYNCOUT_ONSTART 0x10 923 #define SYNCOUT_ONSTOP 0x20 924 #define SYNCOUT_ONPERIOD 0x40 943 #define EXTIO_SETUP_OUTPUT 0x01 944 #define EXTIO_SETUP_INVERT 0x02 964 #define EXTIO_SETUP_MODE_IN_BITS 0x0F 965 #define EXTIO_SETUP_MODE_IN_NOP 0x00 966 #define EXTIO_SETUP_MODE_IN_STOP 0x01 967 #define EXTIO_SETUP_MODE_IN_PWOF 0x02 968 #define EXTIO_SETUP_MODE_IN_MOVR 0x03 969 #define EXTIO_SETUP_MODE_IN_HOME 0x04 970 #define EXTIO_SETUP_MODE_IN_ALARM 0x05 971 #define EXTIO_SETUP_MODE_OUT_BITS 0xF0 972 #define EXTIO_SETUP_MODE_OUT_OFF 0x00 973 #define EXTIO_SETUP_MODE_OUT_ON 0x10 974 #define EXTIO_SETUP_MODE_OUT_MOVING 0x20 975 #define EXTIO_SETUP_MODE_OUT_ALARM 0x30 976 #define EXTIO_SETUP_MODE_OUT_MOTOR_ON 0x40 999 #define BORDER_IS_ENCODER 0x01 1000 #define BORDER_STOP_LEFT 0x02 1001 #define BORDER_STOP_RIGHT 0x04 1002 #define BORDERS_SWAP_MISSET_DETECTION 0x08 1025 #define ENDER_SWAP 0x01 1026 #define ENDER_SW1_ACTIVE_LOW 0x02 1027 #define ENDER_SW2_ACTIVE_LOW 0x04 1050 #define BRAKE_ENABLED 0x01 1051 #define BRAKE_ENG_PWROFF 0x02 1074 #define CONTROL_MODE_BITS 0x03 1075 #define CONTROL_MODE_OFF 0x00 1076 #define CONTROL_MODE_JOY 0x01 1077 #define CONTROL_MODE_LR 0x02 1078 #define CONTROL_BTN_LEFT_PUSHED_OPEN 0x04 1079 #define CONTROL_BTN_RIGHT_PUSHED_OPEN 0x08 1100 #define JOY_REVERSE 0x01 1123 #define CTP_ENABLED 0x01 1124 #define CTP_BASE 0x02 1125 #define CTP_ALARM_ON_ERROR 0x04 1126 #define REV_SENS_INV 0x08 1127 #define CTP_ERROR_CORRECTION 0x10 1151 #define HOME_DIR_FIRST 0x001 1152 #define HOME_DIR_SECOND 0x002 1153 #define HOME_MV_SEC_EN 0x004 1154 #define HOME_HALF_MV 0x008 1155 #define HOME_STOP_FIRST_BITS 0x030 1156 #define HOME_STOP_FIRST_REV 0x010 1157 #define HOME_STOP_FIRST_SYN 0x020 1158 #define HOME_STOP_FIRST_LIM 0x030 1159 #define HOME_STOP_SECOND_BITS 0x0C0 1160 #define HOME_STOP_SECOND_REV 0x040 1161 #define HOME_STOP_SECOND_SYN 0x080 1162 #define HOME_STOP_SECOND_LIM 0x0C0 1163 #define HOME_USE_FAST 0x100 1180 #define UART_PARITY_BITS 0x03 1181 #define UART_PARITY_BIT_EVEN 0x00 1182 #define UART_PARITY_BIT_ODD 0x01 1183 #define UART_PARITY_BIT_SPACE 0x02 1184 #define UART_PARITY_BIT_MARK 0x03 1185 #define UART_PARITY_BIT_USE 0x04 1186 #define UART_STOP_BIT 0x08 1203 #define MOTOR_TYPE_UNKNOWN 0x00 1204 #define MOTOR_TYPE_STEP 0x01 1205 #define MOTOR_TYPE_DC 0x02 1206 #define MOTOR_TYPE_BLDC 0x03 1223 #define ENCSET_DIFFERENTIAL_OUTPUT 0x001 1224 #define ENCSET_PUSHPULL_OUTPUT 0x004 1225 #define ENCSET_INDEXCHANNEL_PRESENT 0x010 1226 #define ENCSET_REVOLUTIONSENSOR_PRESENT 0x040 1227 #define ENCSET_REVOLUTIONSENSOR_ACTIVE_HIGH 0x100 1244 #define MB_AVAILABLE 0x01 1245 #define MB_POWERED_HOLD 0x02 1262 #define TS_TYPE_BITS 0x07 1263 #define TS_TYPE_UNKNOWN 0x00 1264 #define TS_TYPE_THERMOCOUPLE 0x01 1265 #define TS_TYPE_SEMICONDUCTOR 0x02 1266 #define TS_AVAILABLE 0x08 1283 #define LS_ON_SW1_AVAILABLE 0x01 1284 #define LS_ON_SW2_AVAILABLE 0x02 1285 #define LS_SW1_ACTIVE_LOW 0x04 1286 #define LS_SW2_ACTIVE_LOW 0x08 1287 #define LS_SHORTED 0x10 1306 #define BACK_EMF_INDUCTANCE_AUTO 0x01 1307 #define BACK_EMF_RESISTANCE_AUTO 0x02 1308 #define BACK_EMF_KM_AUTO 0x04 1683 unsigned int reserved0;
1705 unsigned int reserved0;
1824 unsigned int MaxSpeed[10];
1825 unsigned int uMaxSpeed[10];
1826 unsigned int Timeout[9];
1861 unsigned int Timeout[9];
1969 unsigned int IPv4Address[4];
1970 unsigned int SubnetMask[4];
1971 unsigned int DefaultGateway[4];
1989 char UserPassword[21];
2027 char ControllerName[17];
2042 unsigned int UserData[7];
2111 unsigned int Param1;
2314 char Manufacturer[5];
2315 char ManufacturerId[3];
2316 char ProductDescription[9];
2368 unsigned int deprecated0;
2381 unsigned int deprecated1[2];
2399 uint8_t DebugData[128];
2415 uint8_t DebugData[128];
2429 char PositionerName[17];
2445 char Manufacturer[17];
2446 char PartNumber[25];
2486 char Manufacturer[17];
2487 char PartNumber[25];
2541 char Manufacturer[17];
2542 char PartNumber[25];
2579 char Manufacturer[17];
2580 char PartNumber[25];
2616 char Manufacturer[17];
2617 char PartNumber[25];
2655 char MagneticBrakeInfo[25];
2660 char TemperatureSensorInfo[25];
5425 #if !defined(MATLAB_IMPORT) && !defined(LABVIEW64_IMPORT) && !defined(LABVIEW32_IMPORT) 5596 #if defined(__cplusplus) unsigned int AntiplaySpeed
Speed in antiplay mode, full steps/s (stepper motor) or RPM (DC).
Definition: ximc.h:1396
unsigned int StepsPerRev
Number of full steps per revolution (Used with stepper motor only).
Definition: ximc.h:1518
unsigned int FullCurrent_ADC
"Full current" raw data from ADC.
Definition: ximc.h:2363
float FastHome
Speed used for first motion.
Definition: ximc.h:1373
result_t XIMC_API get_gear_information(device_t id, gear_information_t *gear_information)
Deprecated.
Control position settings (used with stepper motor only)
Definition: ximc.h:1927
result_t XIMC_API write_key(const char *uri, uint8_t *key)
Write controller key.
Globally unique identifier.
Definition: ximc.h:2694
unsigned int EngineType
Flags of engine type.
Definition: ximc.h:1539
result_t XIMC_API set_extio_settings(device_t id, const extio_settings_t *extio_settings)
Set EXTIO settings.
Position information.
Definition: ximc.h:2148
unsigned int uSpeed
Target speed in microsteps/s.
Definition: ximc.h:1682
unsigned int EnderFlags
Limit switches flags.
Definition: ximc.h:1629
unsigned int MotorType
Motor Type flags.
Definition: ximc.h:2503
unsigned int KiU
Integral gain for voltage PID routine.
Definition: ximc.h:1654
unsigned int LowUpwrOff
Lower voltage limit to turn off the motor, in tens of mV.
Definition: ximc.h:1576
int R
Motor winding resistance in mOhms (is only used with stepper motors).
Definition: ximc.h:2382
unsigned int uFastHome
Fractional part of the speed for first motion, microsteps.
Definition: ximc.h:1348
unsigned int PPR
The number of counts per revolution.
Definition: ximc.h:2600
unsigned int SyncOutPulseSteps
This value specifies the duration of output pulse.
Definition: ximc.h:1747
unsigned int NomVoltage
Rated voltage in tens of mV.
Definition: ximc.h:1512
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)
Set output user unit synchronization settings.
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)
Read input user unit synchronization settings.
result_t XIMC_API set_move_settings(device_t id, const move_settings_t *move_settings)
Movement settings set command (speed, acceleration, threshold, etc.).
Debug data.
Definition: ximc.h:2413
result_t XIMC_API set_position(device_t id, const set_position_t *the_set_position)
Sets position in steps and microsteps for stepper motor.
int RightBorder
Right border position, used if BORDER_IS_ENCODER flag is set.
Definition: ximc.h:1607
float MaxCurrent
The maximum current in the winding (A).
Definition: ximc.h:2522
Analog data.
Definition: ximc.h:2354
result_t XIMC_API get_motor_settings(device_t id, motor_settings_t *motor_settings)
Deprecated.
result_t XIMC_API get_status_calb(device_t id, status_calb_t *status, const calibration_t *calibration)
Return device state.
float CSS2_B
Offset for the analog measurements of the B winding current.
Definition: ximc.h:2011
unsigned int uAntiplaySpeed
Speed in antiplay mode, microsteps/s.
Definition: ximc.h:1397
float CSS2_A
Scaling factor for the analog measurements of the B winding current.
Definition: ximc.h:2010
int device_t
Type describes device identifier.
Definition: ximc.h:107
Deprecated.
Definition: ximc.h:2594
int Ipwr
Engine current, mA.
Definition: ximc.h:2217
int uDeltaPosition
Fractional part of the shift in micro steps.
Definition: ximc.h:1830
result_t XIMC_API set_home_settings_calb(device_t id, const home_settings_calb_t *home_settings_calb, const calibration_t *calibration)
Set user unit home settings.
float ReductionIn
Input reduction coefficient.
Definition: ximc.h:2633
int Uusb
USB voltage, tens of mV.
Definition: ximc.h:2252
float SupplyVoltageMax
Maximum supply voltage (V).
Definition: ximc.h:2598
float MBRatedVoltage
Rated voltage for controlling the magnetic brake (V).
Definition: ximc.h:2656
result_t XIMC_API get_debug_read(device_t id, debug_read_t *debug_read)
Read data from firmware for debug purpose.
struct calibration_t calibration_t
Calibration structure.
result_t XIMC_API command_move(device_t id, int Position, int uPosition)
Move to position.
int A1Voltage
"Voltage on pin 1 winding A" calibrated data (in tens of mV).
Definition: ximc.h:2369
result_t XIMC_API command_move_calb(device_t id, float Position, const calibration_t *calibration)
Move to position using user units.
unsigned int ClutterTime
Input synchronization pulse dead time (us).
Definition: ximc.h:1678
unsigned int GPIOFlags
Status flags of the GPIO outputs.
Definition: ximc.h:2255
unsigned int TSSettings
Temperature sensor settings flags.
Definition: ximc.h:2664
unsigned int PWRSts
Flags of power state of stepper motor.
Definition: ximc.h:2209
UART settings.
Definition: ximc.h:1947
float LeftBorder
Left border position, used if BORDER_IS_ENCODER flag is set.
Definition: ximc.h:1630
unsigned int SyncOutPeriod
This value specifies the number of encoder pulses or steps between two output synchronization pulses ...
Definition: ximc.h:1725
unsigned int MicrostepMode
Flags of microstep mode.
Definition: ximc.h:1517
result_t XIMC_API set_stage_name(device_t id, const stage_name_t *stage_name)
Write the user's stage name to EEPROM.
int CurSpeed
Motor shaft speed in steps/s or rpm.
Definition: ximc.h:2215
unsigned int Enc_Check_ADC
Voltage on encoder check line, raw ADC data.
Definition: ximc.h:2367
result_t XIMC_API get_engine_settings_calb(device_t id, engine_settings_calb_t *engine_settings_calb, const calibration_t *calibration)
Read user unit engine settings.
float SupplyVoltageMax
Maximum supply voltage (V).
Definition: ximc.h:2560
float VerticalLoadCapacity
Vertical load capacity (kg).
Definition: ximc.h:2470
result_t XIMC_API set_engine_settings_calb(device_t id, const engine_settings_calb_t *engine_settings_calb, const calibration_t *calibration)
Set user unit engine settings.
int BCurrent
"Winding B current" calibrated data (in mA).
Definition: ximc.h:2375
float HorizontalLoadCapacity
Horizontal load capacity (kg).
Definition: ximc.h:2469
int Iusb
USB current, mA.
Definition: ximc.h:2219
int Joy
Joystick, calibrated data.
Definition: ximc.h:2378
unsigned int DHCPEnabled
Indicates the method to get the IP-address.
Definition: ximc.h:1968
unsigned int stepcloseloop_Kp_high
Manufacturer only.
Definition: ximc.h:2091
float NoLoadCurrent
The current consumption in idle mode (A).
Definition: ximc.h:2524
int uLeftBorder
Left border position in microsteps (used with stepper motor only).
Definition: ximc.h:1606
Movement limitations and settings, related to the motor.
Definition: ximc.h:1510
result_t XIMC_API get_status(device_t id, status_t *status)
Return device state.
result_t XIMC_API set_control_settings(device_t id, const control_settings_t *control_settings)
Set motor control settings.
result_t XIMC_API get_stage_information(device_t id, stage_information_t *stage_information)
Deprecated.
int WindingVoltageC
In case of a brushless motor, it contains the voltage on the third winding (in tens of mV); in the ca...
Definition: ximc.h:2293
int Position
Desired position or shift (full steps)
Definition: ximc.h:1679
result_t XIMC_API set_emf_settings(device_t id, const emf_settings_t *emf_settings)
Set electromechanical coefficients.
unsigned int uAccuracy
This is the neighborhood around the target coordinates in microsteps (used with a stepper motor only)...
Definition: ximc.h:1727
long_t EncPosition
Current encoder position.
Definition: ximc.h:2247
pchar XIMC_API get_device_name(device_enumeration_t device_enumeration, int device_index)
Get device name from the device enumeration.
int HomeDelta
Distance from break point (full steps).
Definition: ximc.h:1351
unsigned int SyncInFlags
Flags for synchronization input setup.
Definition: ximc.h:1701
result_t XIMC_API command_update_firmware(const char *uri, const uint8_t *data, uint32_t data_size)
Update firmware.
result_t XIMC_API set_control_settings_calb(device_t id, const control_settings_calb_t *control_settings_calb, const calibration_t *calibration)
Set motor control settings with user units.
unsigned int SyncOutFlags
Flags of synchronization output.
Definition: ximc.h:1746
result_t XIMC_API set_sync_out_settings(device_t id, const sync_out_settings_t *sync_out_settings)
Set output synchronization settings.
unsigned int SyncInFlags
Flags for synchronization input setup.
Definition: ximc.h:1677
unsigned int WindSts
Winding state.
Definition: ximc.h:2211
int Upwr
Power supply voltage, tens of mV.
Definition: ximc.h:2218
float Decel
Deceleration.
Definition: ximc.h:1438
float SpeedConstant
Velocity constant, which determines the value or the amplitude of the induced voltage on the motion o...
Definition: ximc.h:2518
result_t XIMC_API command_read_settings(device_t id)
Read all settings from the controller's flash memory to the controller's RAM, replacing previous data...
unsigned int MvCmdSts
Move command state.
Definition: ximc.h:2242
int Position
The position of the whole steps in the engine.
Definition: ximc.h:2168
int uCurSpeed
Fractional part of motor shaft speed in microsteps.
Definition: ximc.h:2216
struct device_network_information_t device_network_information_t
Device network information structure.
unsigned int SN
New board serial number.
Definition: ximc.h:2334
unsigned int t1
Time in ms between turning on motor power and turning off the brake.
Definition: ximc.h:1790
float SupplyVoltageMin
Minimum supply voltage (V).
Definition: ximc.h:2559
result_t XIMC_API command_loft(device_t id)
Upon receiving the command "loft", the engine is shifted from the current position to a distance Anti...
result_t XIMC_API set_encoder_settings(device_t id, const encoder_settings_t *encoder_settings)
Deprecated.
result_t XIMC_API set_engine_settings(device_t id, const engine_settings_t *engine_settings)
Set engine settings.
unsigned int CountsPerTurn
The number of encoder counts per shaft revolution.
Definition: ximc.h:1328
unsigned int UARTSetupFlags
UART parity flags.
Definition: ximc.h:1950
unsigned int uNomSpeed
The fractional part of a nominal speed in microsteps (is only used with stepper motor).
Definition: ximc.h:1486
Feedback settings.
Definition: ximc.h:1323
unsigned int GPIOFlags
Status flags of the GPIO outputs.
Definition: ximc.h:2223
result_t XIMC_API get_gear_settings(device_t id, gear_settings_t *gear_settings)
Deprecated.
result_t XIMC_API get_home_settings(device_t id, home_settings_t *home_settings)
Read home settings.
Position information.
Definition: ximc.h:2128
unsigned int Poles
Number of pole pairs for DC or BLDC motors or number of steps per rotation for stepper motors...
Definition: ximc.h:2505
float TSMin
The minimum measured temperature (degrees Celsius) Data type: float.
Definition: ximc.h:2661
unsigned int NomVoltage
Rated voltage in tens of mV.
Definition: ximc.h:1483
unsigned int DeadZone
Joystick deviation from the central position in 0.1% units that do not result in a start of motion...
Definition: ximc.h:1905
float RatedInputSpeed
Maximum speed on the input shaft (rpm).
Definition: ximc.h:2636
Additional device state.
Definition: ximc.h:2289
unsigned int CmdBufFreeSpace
This field is a service field.
Definition: ximc.h:2224
float SupplyVoltageMax
Maximum supply voltage (V).
Definition: ximc.h:2467
result_t XIMC_API command_eesave_settings(device_t id)
Save settings from the controller's RAM to the stage's EEPROM.
void(XIMC_CALLCONV * logging_callback_t)(int loglevel, const wchar_t *message, void *user_data)
Logging callback prototype.
Definition: ximc.h:5438
Synchronization settings which use user units.
Definition: ximc.h:1744
float FullCurrent_B
Offset for the analog measurements of the full current.
Definition: ximc.h:2013
unsigned int KpU
Proportional gain for voltage PID routine.
Definition: ximc.h:1653
unsigned int NomCurrent
Rated current (in mA).
Definition: ximc.h:1484
result_t XIMC_API get_calibration_settings(device_t id, calibration_settings_t *calibration_settings)
Read calibration settings.
int CurPosition
Current position.
Definition: ximc.h:2212
unsigned int SyncOutPeriod
This value specifies the number of encoder pulses or steps between two output synchronization pulses ...
Definition: ximc.h:1748
result_t XIMC_API get_encoder_settings(device_t id, encoder_settings_t *encoder_settings)
Deprecated.
unsigned int stepcloseloop_Kp_low
Manufacturer only.
Definition: ximc.h:2090
Position information.
Definition: ximc.h:2166
unsigned int FastHome
Speed used for first motion (full steps).
Definition: ximc.h:1347
device_t XIMC_API open_device(const char *uri)
Open a device with OS uri and return identifier of the device which can be used in calls...
int uRightBorder
Right border position in microsteps.
Definition: ximc.h:1608
result_t XIMC_API set_power_settings(device_t id, const power_settings_t *power_settings)
Set settings of step motor power control.
unsigned int CriticalT
Maximum temperature, which triggers ALARM state, in tenths of degrees Celsius.
Definition: ximc.h:1579
result_t XIMC_API command_start_measurements(device_t id)
Start measurements and buffering of speed and the speed error (target speed minus real speed)...
unsigned int Flags
Flags of secure settings.
Definition: ximc.h:1583
result_t XIMC_API get_home_settings_calb(device_t id, home_settings_calb_t *home_settings_calb, const calibration_t *calibration)
Read user unit home settings.
unsigned int MinimumUusb
Deprecated.
Definition: ximc.h:1582
unsigned int uSlowHome
Part of the speed for second motion, microsteps.
Definition: ximc.h:1350
float CurSpeed
Motor shaft speed.
Definition: ximc.h:2248
result_t XIMC_API get_move_settings(device_t id, move_settings_t *move_settings)
Movement settings read command (speed, acceleration, threshold, etc.).
float SlowHome
Speed used for second motion.
Definition: ximc.h:1374
float CSS1_B
Offset for the analog measurements of the A winding current.
Definition: ximc.h:2009
unsigned int CurrentSetTime
Time in ms to reach the nominal current.
Definition: ximc.h:1559
unsigned int EncSts
Encoder state.
Definition: ximc.h:2210
int AveragedPowerRatio
The ratio of motor supplied power to nominal motor power, as a percentage.
Definition: ximc.h:2299
result_t XIMC_API get_encoder_information(device_t id, encoder_information_t *encoder_information)
Deprecated.
float Km
Electromechanical ratio of the motor.
Definition: ximc.h:2067
Edges settings.
Definition: ximc.h:1601
result_t XIMC_API get_chart_data(device_t id, chart_data_t *chart_data)
Return device electrical parameters, useful for charts.
result_t XIMC_API get_sync_in_settings(device_t id, sync_in_settings_t *sync_in_settings)
Read input synchronization settings.
Engine type and driver type settings.
Definition: ximc.h:1537
float DetentTorque
Holding torque position with unpowered windings (mN * m).
Definition: ximc.h:2516
unsigned int SlowHome
Speed used for second motion (full steps).
Definition: ximc.h:1349
result_t XIMC_API command_reset(device_t id)
Reset controller.
result_t XIMC_API get_enumerate_device_stage_name(device_enumeration_t device_enumeration, int device_index, stage_name_t *stage_name)
Get stage name from the device enumeration.
result_t XIMC_API get_serial_number(device_t id, unsigned int *SerialNumber)
Read device serial number.
result_t XIMC_API set_debug_write(device_t id, const debug_write_t *debug_write)
Write data to firmware for debug purpose.
unsigned int JoyHighEnd
Joystick upper end position.
Definition: ximc.h:1903
float WindingInductance
Inductance of windings for DC engines, inductance of each of two windings for stepper motors...
Definition: ximc.h:2513
float TravelRange
Travel range (Units).
Definition: ximc.h:2465
unsigned int BorderFlags
Border flags.
Definition: ximc.h:1628
unsigned int UniqueID1
Unique ID 1.
Definition: ximc.h:2697
result_t XIMC_API get_ctp_settings(device_t id, ctp_settings_t *ctp_settings)
Read control position settings (used with stepper motor only).
unsigned int Length
Actual sequence length.
Definition: ximc.h:2273
unsigned int ClutterTime
Input synchronization pulse dead time (us).
Definition: ximc.h:1702
int CurT
Temperature, tenths of degrees Celsius.
Definition: ximc.h:2221
int WindingVoltageB
In case of a step motor, it contains the voltage across the winding B (in tens of mV); in case of a b...
Definition: ximc.h:2292
#define XIMC_CALLCONV
Library calling convention macros.
Definition: ximc.h:46
unsigned int B2Voltage_ADC
"Voltage on pin 2 winding B" raw data from ADC.
Definition: ximc.h:2359
result_t XIMC_API set_position_calb(device_t id, const set_position_calb_t *the_set_position_calb, const calibration_t *calibration)
Sets any position value and encoder value of all engines.
unsigned int Accel
Motor shaft acceleration, steps/s^2 (stepper motor) or RPM/s (DC).
Definition: ximc.h:1394
float R
Motor winding resistance.
Definition: ximc.h:2066
float NominalVoltage
Nominal voltage on winding (B).
Definition: ximc.h:2507
EMF settings.
Definition: ximc.h:2063
result_t XIMC_API set_entype_settings(device_t id, const entype_settings_t *entype_settings)
Set engine type and driver type.
int WindingVoltageA
In case of a step motor, it contains the voltage across the winding A (in tens of mV); in case of a b...
Definition: ximc.h:2291
unsigned int t4
Time in ms between turning on the brake and turning off motor power.
Definition: ximc.h:1793
This structure contains protection parameters: critical electrical values, flags for protection algor...
Definition: ximc.h:1574
result_t XIMC_API set_accessories_settings(device_t id, const accessories_settings_t *accessories_settings)
Deprecated.
unsigned int SyncOutFlags
Flags of synchronization output.
Definition: ximc.h:1723
Network settings.
Definition: ximc.h:1966
User unit control settings.
Definition: ximc.h:1858
unsigned int UniqueID3
Unique ID 3.
Definition: ximc.h:2699
int LeftBorder
Left border position, used if BORDER_IS_ENCODER flag is set.
Definition: ximc.h:1605
int B1Voltage
"Voltage on pin 1 winding B" calibrated data (in tens of mV).
Definition: ximc.h:2371
result_t XIMC_API set_sync_in_settings(device_t id, const sync_in_settings_t *sync_in_settings)
Set input synchronization settings.
unsigned int MicrostepMode
Flags of microstep mode.
Definition: ximc.h:1489
result_t XIMC_API set_stage_information(device_t id, const stage_information_t *stage_information)
Deprecated.
unsigned int Release
Number of edits this release of hardware.
Definition: ximc.h:2338
result_t XIMC_API get_device_information(device_t id, device_information_t *device_information)
Return device information.
result_t XIMC_API get_stage_name(device_t id, stage_name_t *stage_name)
Read the user's stage name from the EEPROM.
Calibration settings.
Definition: ximc.h:2006
result_t XIMC_API get_edges_settings(device_t id, edges_settings_t *edges_settings)
Read border and limit switches settings.
unsigned int DriverType
Flags of driver type.
Definition: ximc.h:1540
result_t XIMC_API get_init_random(device_t id, init_random_t *init_random)
Read a random number from the controller.
result_t XIMC_API set_ctp_settings(device_t id, const ctp_settings_t *ctp_settings)
Set control position settings (used with stepper motor only).
int XIMC_API get_device_count(device_enumeration_t device_enumeration)
Get device count.
device_enumeration_t XIMC_API enumerate_devices(int enumerate_flags, const char *hints)
Search and list of available devices.
float Position
The position in the engine.
Definition: ximc.h:2188
float NomSpeed
Nominal speed.
Definition: ximc.h:1514
float Accuracy
This is the neighborhood around the target coordinates, every point in which is treated as the target...
Definition: ximc.h:1749
result_t XIMC_API get_joystick_settings(device_t id, joystick_settings_t *joystick_settings)
Read joystick settings.
result_t XIMC_API set_gear_information(device_t id, const gear_information_t *gear_information)
Deprecated.
int ACurrent
"Winding A current" calibrated data (in mA).
Definition: ximc.h:2374
result_t XIMC_API command_clear_fram(device_t id)
Clear controller FRAM.
result_t XIMC_API get_power_settings(device_t id, power_settings_t *power_settings)
Read settings of step motor power control.
result_t XIMC_API get_entype_settings(device_t id, entype_settings_t *entype_settings)
Return engine type and driver type.
result_t XIMC_API command_stop(device_t id)
Immediately stops the engine, moves it to the STOP state, and sets switches to BREAK mode (windings a...
result_t XIMC_API set_secure_settings(device_t id, const secure_settings_t *secure_settings)
Set protection settings.
unsigned int EXTIOModeFlags
External IO mode flags.
Definition: ximc.h:1771
int L
Motor winding pseudo inductance in uH (is only used with stepper motors).
Definition: ximc.h:2383
result_t XIMC_API set_uart_settings(device_t id, const uart_settings_t *uart_settings)
Set UART settings.
float MBTorque
Retention moment (mN * m).
Definition: ximc.h:2658
unsigned int EngineFlags
Flags of engine settings.
Definition: ximc.h:1515
float MaxCurrentTime
Safe duration of overcurrent in the winding (ms).
Definition: ximc.h:2523
unsigned int BrakeFlags
Brake settings flags.
Definition: ximc.h:1794
unsigned int Joy_ADC
Joystick raw data from ADC.
Definition: ximc.h:2365
result_t XIMC_API set_edges_settings(device_t id, const edges_settings_t *edges_settings)
Set border and limit switches settings.
#define XIMC_API
Library import macro.
Definition: ximc.h:31
unsigned int MoveSts
Flags of move state.
Definition: ximc.h:2241
result_t XIMC_API command_save_robust_settings(device_t id)
Save important settings (calibration coefficients, etc.) from the controller's RAM to the controller'...
void XIMC_API logging_callback_stderr_narrow(int loglevel, const wchar_t *message, void *user_data)
Simple callback for logging to stderr in narrow (single byte) chars.
unsigned int MaxClickTime
Maximum click time (in ms).
Definition: ximc.h:1862
unsigned int HoldCurrent
Holding current, as percent of the nominal current.
Definition: ximc.h:1556
unsigned int StepsPerRev
Number of full steps per revolution (Used with stepper motor only).
Definition: ximc.h:1490
result_t XIMC_API get_nonvolatile_memory(device_t id, nonvolatile_memory_t *nonvolatile_memory)
Read user data from FRAM.
int CurT
Temperature, tenths of degrees Celsius.
Definition: ximc.h:2253
void XIMC_API set_logging_callback(logging_callback_t logging_callback, void *user_data)
Sets a logging callback.
unsigned int MicrostepMode
Controller setting which is determine a step division mode.
Definition: ximc.h:326
result_t XIMC_API goto_firmware(device_t id, uint8_t *ret)
Reboot to firmware.
unsigned int A2Voltage_ADC
"Voltage on pin 2 winding A" raw data from ADC.
Definition: ximc.h:2357
float MaxCurrentConsumption
Maximum current consumption (mA).
Definition: ximc.h:2599
result_t XIMC_API get_brake_settings(device_t id, brake_settings_t *brake_settings)
Read break control settings.
result_t XIMC_API command_left(device_t id)
Start continuous moving to the left.
result_t XIMC_API free_enumerate_devices(device_enumeration_t device_enumeration)
Free memory returned by enumerate_devices.
result_t XIMC_API get_uart_settings(device_t id, uart_settings_t *uart_settings)
Read UART settings.
result_t XIMC_API set_correction_table(device_t id, const char *namefile)
Command of loading a correction table from a text file.
unsigned int EnderFlags
Limit switches flags.
Definition: ximc.h:1604
result_t XIMC_API command_sstp(device_t id)
Soft stop the engine.
result_t XIMC_API get_control_settings_calb(device_t id, control_settings_calb_t *control_settings_calb, const calibration_t *calibration)
Read motor control settings with user units.
result_t XIMC_API command_right(device_t id)
Start continuous moving to the right.
unsigned int t3
Time in ms between motor stop and the brake turning on.
Definition: ximc.h:1792
unsigned int BCurrent_ADC
"Winding B current" raw data from ADC.
Definition: ximc.h:2362
int uPosition
The fractional part of a position or shift in microsteps.
Definition: ximc.h:1680
int Iusb
USB current, mA.
Definition: ximc.h:2251
Deprecated.
Definition: ximc.h:2460
float DeltaPosition
Position shift (delta)
Definition: ximc.h:1864
unsigned int UniqueID0
Unique ID 0.
Definition: ximc.h:2696
int WindingCurrentA
In case of a step motor, it contains the current in the winding A (in mA); in case of a brushless mot...
Definition: ximc.h:2294
unsigned int SyncOutPulseSteps
This value specifies the duration of output pulse.
Definition: ximc.h:1724
unsigned int HomeFlags
Home settings flags.
Definition: ximc.h:1376
float Accel
Acceleration:
Definition: ximc.h:1426
int result_t
Type specifies result of any operation.
Definition: ximc.h:117
float Position
Desired position or shift.
Definition: ximc.h:1703
unsigned int NomCurrent
Rated current (in mA).
Definition: ximc.h:1513
Position calibration settings which use user units.
Definition: ximc.h:1371
float TorqueConstant
Torque constant that determines the proportionality constant between the maximum rotor torque and cur...
Definition: ximc.h:2517
int Enc_Check
Voltage on encoder check line, exponentially filtrated ADC codes.
Definition: ximc.h:2380
int B2Voltage
"Voltage on pin 2 winding B" calibrated data (in tens of mV).
Definition: ximc.h:2372
Movement limitations and settings related to the motor.
Definition: ximc.h:1481
Random key.
Definition: ximc.h:2680
result_t XIMC_API set_home_settings(device_t id, const home_settings_t *home_settings)
Set home settings.
Calibration structure.
Definition: ximc.h:296
int A2Voltage
"Voltage on pin 2 winding A" calibrated data (in tens of mV).
Definition: ximc.h:2370
float MaxCurrentConsumption
Maximum current consumption (A).
Definition: ximc.h:2468
result_t XIMC_API command_zero(device_t id)
Sets the current position to 0.
result_t XIMC_API has_firmware(const char *uri, uint8_t *ret)
Check for firmware on device.
result_t XIMC_API get_stage_settings(device_t id, stage_settings_t *stage_settings)
Deprecated.
result_t XIMC_API service_command_updf(device_t id)
The command switches the controller to update the firmware state.
Move settings.
Definition: ximc.h:1390
int uCurPosition
Step motor shaft position in microsteps.
Definition: ximc.h:2213
result_t XIMC_API reset_locks()
Resets the error of incorrect data transmission.
Controller name and settings flags.
Definition: ximc.h:2025
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)
Read output user unit synchronization settings.
unsigned int HomeFlags
Home settings flags.
Definition: ximc.h:1353
result_t XIMC_API set_stage_settings(device_t id, const stage_settings_t *stage_settings)
Deprecated.
result_t XIMC_API get_position(device_t id, get_position_t *the_get_position)
Reads the value position in steps and microsteps for stepper motor and encoder steps for all engines...
float CSS1_A
Scaling factor for the analog measurements of the A winding current.
Definition: ximc.h:2008
result_t XIMC_API get_engine_settings(device_t id, engine_settings_t *engine_settings)
Read engine settings.
unsigned int PosFlags
Position setting flags.
Definition: ximc.h:2190
unsigned int JoyLowEnd
Joystick lower end position.
Definition: ximc.h:1901
void XIMC_API msec_sleep(unsigned int msec)
Sleeps for a specified amount of time.
float MaxOperatingFrequency
Maximum operation frequency (kHz).
Definition: ximc.h:2596
float Kdf
Differential gain for BLDC position PID routine.
Definition: ximc.h:1658
long_t EncPosition
Encoder position.
Definition: ximc.h:2151
Brake settings.
Definition: ximc.h:1788
unsigned int CurrReductDelay
Time in ms from going to STOP state to the end of current reduction.
Definition: ximc.h:1557
User unit device's state.
Definition: ximc.h:2239
result_t XIMC_API set_motor_information(device_t id, const motor_information_t *motor_information)
Deprecated.
result_t XIMC_API close_device(device_t *id)
Close specified device.
unsigned int ACurrent_ADC
"Winding A current" raw data from ADC.
Definition: ximc.h:2361
unsigned int MoveFlags
Flags of the motion parameters.
Definition: ximc.h:1398
result_t XIMC_API command_eeread_settings(device_t id)
Read settings from the stage's EEPROM to the controller's RAM.
float CurPosition
Current position.
Definition: ximc.h:2246
result_t XIMC_API set_hallsensor_information(device_t id, const hallsensor_information_t *hallsensor_information)
Deprecated.
unsigned int EngineFlags
Flags of engine settings.
Definition: ximc.h:1487
float MechanicalTimeConstant
Mechanical time constant (ms).
Definition: ximc.h:2520
result_t XIMC_API command_read_robust_settings(device_t id)
Read important settings (calibration coefficients, etc.) from the controller's flash memory to the co...
float MaxCurrentConsumption
Max current consumption (mA).
Definition: ximc.h:2561
float WindingResistance
Resistance of windings for DC engines, of each of two windings for stepper motors, or of each of three windings for BLDC engines (Ohm).
Definition: ximc.h:2512
unsigned int Phases
Number of phases for BLDC motors.
Definition: ximc.h:2506
float MaxSpeed
The maximum speed for stepper motors (steps/s) or DC and BLDC motors (rmp).
Definition: ximc.h:2521
float LeadScrewPitch
Lead screw pitch (mm).
Definition: ximc.h:2462
Deprecated.
Definition: ximc.h:2653
unsigned int Flags
Control flags.
Definition: ximc.h:1863
unsigned int Decel
Motor shaft deceleration, steps/s^2 (stepper motor) or RPM/s (DC).
Definition: ximc.h:1395
result_t XIMC_API get_edges_settings_calb(device_t id, edges_settings_calb_t *edges_settings_calb, const calibration_t *calibration)
Read border and limit switches settings in user units.
float NoLoadSpeed
Idle speed (rpm).
Definition: ximc.h:2525
long_t EncPosition
Current encoder position.
Definition: ximc.h:2214
The structure contains a sequence of measured axis motion parameters - velocities and position errors...
Definition: ximc.h:2269
unsigned int CTPFlags
Position control flags.
Definition: ximc.h:1930
result_t XIMC_API set_pid_settings(device_t id, const pid_settings_t *pid_settings)
Set PID settings.
Deprecated.
Definition: ximc.h:2556
result_t XIMC_API set_brake_settings(device_t id, const brake_settings_t *brake_settings)
Set brake control settings.
result_t XIMC_API get_firmware_version(device_t id, unsigned int *Major, unsigned int *Minor, unsigned int *Release)
Read the controller's firmware version.
unsigned int Speed
UART baudrate (in bauds)
Definition: ximc.h:1949
float Kpf
Proportional gain for BLDC position PID routine.
Definition: ximc.h:1656
unsigned int IPS
The number of encoder counts per shaft revolution.
Definition: ximc.h:1325
unsigned int Temp_ADC
Voltage from temperature sensor, raw data from ADC.
Definition: ximc.h:2364
unsigned int FeedbackType
Feedback type.
Definition: ximc.h:1326
int uHomeDelta
Fractional part of the delta distance, microsteps.
Definition: ximc.h:1352
unsigned int WindSts
Winding state.
Definition: ximc.h:2245
unsigned int MoveFlags
Flags of the motion parameters.
Definition: ximc.h:1462
result_t XIMC_API set_encoder_information(device_t id, const encoder_information_t *encoder_information)
Deprecated.
unsigned int BorderFlags
Border flags.
Definition: ximc.h:1603
float FullCurrent_A
Scaling factor for the analog measurements of the full current.
Definition: ximc.h:2012
result_t XIMC_API get_measurements(device_t id, measurements_t *measurements)
A command to read the data buffer to build a speed graph and a speed error graph. ...
int FullCurrent
"Full current" calibrated data (in mA).
Definition: ximc.h:2376
result_t XIMC_API set_password_settings(device_t id, const password_settings_t *password_settings)
Sets the password.
long_t EncPosition
Encoder position.
Definition: ximc.h:2170
Deprecated.
Definition: ximc.h:2631
result_t XIMC_API get_feedback_settings(device_t id, feedback_settings_t *feedback_settings)
Feedback settings.
result_t XIMC_API set_joystick_settings(device_t id, const joystick_settings_t *joystick_settings)
Set joystick position.
float L
Motor winding inductance.
Definition: ximc.h:2065
result_t XIMC_API get_move_settings_calb(device_t id, move_settings_calb_t *move_settings_calb, const calibration_t *calibration)
User unit movement settings read command (speed, acceleration, threshold, etc.).
int Ipwr
Engine current, mA.
Definition: ximc.h:2249
float RatedInputTorque
Maximum continuous torque (N * m).
Definition: ximc.h:2635
result_t XIMC_API command_movr_calb(device_t id, float DeltaPosition, const calibration_t *calibration)
Shift by a set offset using user units.
unsigned int Pot
Analog input value, dimensionless.
Definition: ximc.h:2297
result_t XIMC_API set_serial_number(device_t id, const serial_number_t *serial_number)
Write device serial number and hardware version to the controller's flash memory. ...
unsigned int CriticalUusb
Deprecated.
Definition: ximc.h:1581
unsigned int FeedbackFlags
Describes feedback flags.
Definition: ximc.h:1327
result_t XIMC_API set_feedback_settings(device_t id, const feedback_settings_t *feedback_settings)
Feedback settings.
result_t XIMC_API get_network_settings(device_t id, network_settings_t *network_settings)
Read network settings.
unsigned int Speed
Target speed (for stepper motor: steps/s, for DC: rpm).
Definition: ximc.h:1681
int uPosition
Microstep position is only used with stepper motors.
Definition: ximc.h:2131
User units move settings.
Definition: ximc.h:1412
result_t XIMC_API get_engine_advanced_setup(device_t id, engine_advanced_setup_t *engine_advanced_setup)
Read engine advanced settings.
Debug data.
Definition: ximc.h:2397
result_t XIMC_API get_secure_settings(device_t id, secure_settings_t *secure_settings)
Read protection settings.
result_t XIMC_API get_accessories_settings(device_t id, accessories_settings_t *accessories_settings)
Deprecated.
unsigned int JoyFlags
Joystick flags.
Definition: ximc.h:1906
float Speed
Speed.
Definition: ximc.h:1414
float SpeedTorqueGradient
Speed torque gradient (rpm / mN * m).
Definition: ximc.h:2519
int SupVoltage
"Supply voltage on the top of H-bridge's MOSFETs" calibrated data (in tens of mV).
Definition: ximc.h:2373
float SupplyVoltageMin
Minimum supply voltage (V).
Definition: ximc.h:2466
Step motor power settings.
Definition: ximc.h:1554
Stage username.
Definition: ximc.h:2427
float NominalPower
Nominal power (W).
Definition: ximc.h:2511
result_t XIMC_API command_homezero(device_t id)
Make home command, wait until it is finished and make zero command.
User unit synchronization settings.
Definition: ximc.h:1699
Position calibration settings.
Definition: ximc.h:1345
unsigned int Flags
Status flags.
Definition: ximc.h:2222
unsigned int KdU
Differential gain for voltage PID routine.
Definition: ximc.h:1655
unsigned int EncSts
Encoder state.
Definition: ximc.h:2244
float RightBorder
Right border position, used if BORDER_IS_ENCODER flag is set.
Definition: ximc.h:1631
double A
Conversion coefficient equal to the number of millimeters (or other user units) per one step...
Definition: ximc.h:298
result_t XIMC_API command_save_settings(device_t id)
Save all settings from the controller's RAM to the controller's flash memory, replacing previous data...
Device state.
Definition: ximc.h:2205
EXTIO settings.
Definition: ximc.h:1768
Structure contains user data to save into the FRAM.
Definition: ximc.h:2040
unsigned int ExpFactor
Exponential nonlinearity factor.
Definition: ximc.h:1904
unsigned int CmdBufFreeSpace
This field is a service field.
Definition: ximc.h:2256
unsigned int JoyCenter
Joystick center position.
Definition: ximc.h:1902
unsigned int Minor
The minor number of the hardware version.
Definition: ximc.h:2337
result_t XIMC_API get_control_settings(device_t id, control_settings_t *control_settings)
Read motor control settings.
result_t XIMC_API set_gear_settings(device_t id, const gear_settings_t *gear_settings)
Deprecated.
unsigned int BackEMFFlags
Flags of auto-detection of characteristics of windings of the engine.
Definition: ximc.h:2068
unsigned int NomSpeed
Nominal (maximum) speed (in whole steps/s or rpm for DC and stepper motor as a master encoder)...
Definition: ximc.h:1485
int DeltaPosition
Position Shift (delta) (full step)
Definition: ximc.h:1829
result_t XIMC_API get_hallsensor_information(device_t id, hallsensor_information_t *hallsensor_information)
Deprecated.
result_t XIMC_API get_bootloader_version(device_t id, unsigned int *Major, unsigned int *Minor, unsigned int *Release)
Read the controller's bootloader version.
float Speed
Target speed.
Definition: ximc.h:1704
unsigned int ReservedField
Reserved.
Definition: ximc.h:2504
int WindingCurrentC
In case of a brushless motor, it contains the current in the winding C (in mA); in case of a step mot...
Definition: ximc.h:2296
The structure contains a new serial number, hardware version, and valid key.
Definition: ximc.h:2332
unsigned int PowerFlags
Flags of power settings of stepper motor.
Definition: ximc.h:1560
result_t XIMC_API get_analog_data(device_t id, analog_data_t *analog_data)
Read the analog data structure that contains raw analog data from the embedded ADC.
result_t XIMC_API set_move_settings_calb(device_t id, const move_settings_calb_t *move_settings_calb, const calibration_t *calibration)
User unit movement settings set command (speed, acceleration, threshold, etc.).
unsigned int MBSettings
Magnetic brake settings flags.
Definition: ximc.h:2659
float HomeDelta
Distance from break point.
Definition: ximc.h:1375
unsigned int PPR
The number of counts per revolution.
Definition: ximc.h:2562
Deprecated.
Definition: ximc.h:2501
unsigned int Flags
Status flags.
Definition: ximc.h:2254
int Antiplay
Number of pulses or steps for backlash (play) compensation procedure.
Definition: ximc.h:1488
unsigned int Joy
The joystick position, dimensionless.
Definition: ximc.h:2298
result_t XIMC_API set_extended_settings(device_t id, const extended_settings_t *extended_settings)
Set extended settings.
result_t XIMC_API get_controller_name(device_t id, controller_name_t *controller_name)
Read user's controller name and internal settings from the FRAM.
unsigned int CriticalIpwr
Maximum motor current which triggers ALARM state, in mA.
Definition: ximc.h:1577
void XIMC_API ximc_version(char *version)
Returns a library version.
unsigned int PosFlags
Position setting flags.
Definition: ximc.h:2171
unsigned int EncoderSettings
Encoder settings flags.
Definition: ximc.h:2563
EST settings This data is stored in the controller's flash memory.
Definition: ximc.h:2109
int Temp
Temperature, calibrated data (in tenths of degrees Celsius).
Definition: ximc.h:2377
unsigned int EXTIOSetupFlags
External IO setup flags.
Definition: ximc.h:1770
unsigned int Speed
Target speed (for stepper motor: steps/s, for DC: rpm).
Definition: ximc.h:1392
unsigned int UniqueID2
Unique ID 2.
Definition: ximc.h:2698
int WindingCurrentB
In case of a step motor, it contains the current in the winding B (in mA); in case of a brushless mot...
Definition: ximc.h:2295
result_t XIMC_API get_extended_settings(device_t id, extended_settings_t *extended_settings)
Read extended settings.
result_t XIMC_API get_emf_settings(device_t id, emf_settings_t *emf_settings)
Read electromechanical settings.
result_t XIMC_API get_pid_settings(device_t id, pid_settings_t *pid_settings)
Read PID settings.
result_t XIMC_API get_motor_information(device_t id, motor_information_t *motor_information)
Deprecated.
unsigned int CtrlFlags
Flags of internal controller settings.
Definition: ximc.h:2028
result_t XIMC_API set_network_settings(device_t id, const network_settings_t *network_settings)
Set network settings.
float MBRatedCurrent
Rated current for controlling the magnetic brake (A).
Definition: ximc.h:2657
unsigned int MvCmdSts
Move command state.
Definition: ximc.h:2208
float NominalTorque
Nominal torque (mN * m).
Definition: ximc.h:2510
result_t XIMC_API get_password_settings(device_t id, password_settings_t *password_settings)
Read the password.
result_t XIMC_API set_controller_name(device_t id, const controller_name_t *controller_name)
Write user's controller name and internal settings to the FRAM.
float SupplyVoltageMin
Minimum supply voltage (V).
Definition: ximc.h:2597
float Kif
Integral gain for BLDC position PID routine.
Definition: ximc.h:1657
float AntiplaySpeed
Antiplay speed.
Definition: ximc.h:1450
float Position
The position in the engine.
Definition: ximc.h:2150
long_t EncPosition
Encoder position.
Definition: ximc.h:2132
unsigned int uSpeed
Target speed in microstep fractions/s.
Definition: ximc.h:1393
float MaxOutputBacklash
Output backlash of the reduction gear (degree).
Definition: ximc.h:2637
result_t XIMC_API command_home(device_t id)
Moving to home position.
unsigned int stepcloseloop_Kw
Manufacturer only.
Definition: ximc.h:2089
User unit edges settings.
Definition: ximc.h:1626
void XIMC_API logging_callback_stderr_wide(int loglevel, const wchar_t *message, void *user_data)
Simple callback for logging to stderr in wide chars.
unsigned int LimitSwitchesSettings
Temperature sensor settings flags.
Definition: ximc.h:2665
float RotorInertia
Rotor inertia (g * cm2).
Definition: ximc.h:2514
Control settings.
Definition: ximc.h:1822
float MaxOperatingFrequency
Maximum operation frequency (kHz).
Definition: ximc.h:2558
int Upwr
Power supply voltage, tens of mV.
Definition: ximc.h:2250
result_t XIMC_API probe_device(const char *uri)
Check if a device with OS uri uri is XIMC device.
float TSMax
The maximum measured temperature (degrees Celsius) Data type: float.
Definition: ximc.h:2662
result_t XIMC_API set_motor_settings(device_t id, const motor_settings_t *motor_settings)
Deprecated.
result_t XIMC_API command_wait_for_stop(device_t id, uint32_t refresh_interval_ms)
Wait for stop.
result_t XIMC_API get_extio_settings(device_t id, extio_settings_t *extio_settings)
Read EXTIO settings.
unsigned int B1Voltage_ADC
"Voltage on pin 1 winding B" raw data from ADC.
Definition: ximc.h:2358
User unit position information.
Definition: ximc.h:2186
unsigned int CriticalUpwr
Maximum motor voltage which triggers ALARM state, in tens of mV.
Definition: ximc.h:1578
unsigned int Pot_ADC
Voltage on analog input, raw data from ADC.
Definition: ximc.h:2366
result_t XIMC_API get_globally_unique_identifier(device_t id, globally_unique_identifier_t *globally_unique_identifier)
This value is unique to each individual device, but is not a random value.
unsigned int MaxClickTime
Maximum click time (in ms).
Definition: ximc.h:1827
The web-page user password.
Definition: ximc.h:1987
unsigned int SupVoltage_ADC
"Supply voltage of H-bridge's MOSFETs" raw data from ADC.
Definition: ximc.h:2360
result_t XIMC_API get_position_calb(device_t id, get_position_calb_t *the_get_position_calb, const calibration_t *calibration)
Reads position value in user units for stepper motor and encoder steps for all engines.
result_t XIMC_API get_enumerate_device_serial(device_enumeration_t device_enumeration, int device_index, uint32_t *serial)
Get device serial number from the device enumeration.
result_t XIMC_API set_hallsensor_settings(device_t id, const hallsensor_settings_t *hallsensor_settings)
Deprecated.
unsigned int PWRSts
Flags of power state of stepper motor.
Definition: ximc.h:2243
float InputInertia
Equivalent input gear inertia (g * cm2).
Definition: ximc.h:2638
int uPosition
Microstep position is only used with stepper motors.
Definition: ximc.h:2169
Synchronization settings.
Definition: ximc.h:1721
result_t XIMC_API get_enumerate_device_information(device_enumeration_t device_enumeration, int device_index, device_information_t *device_information)
Get device information from the device enumeration.
float TSGrad
The temperature gradient (V/degrees Celsius).
Definition: ximc.h:2663
result_t XIMC_API get_enumerate_device_controller_name(device_enumeration_t device_enumeration, int device_index, controller_name_t *controller_name)
Get controller name from the device enumeration.
result_t XIMC_API set_calibration_settings(device_t id, const calibration_settings_t *calibration_settings)
Set calibration settings.
float MaxSpeed
Maximum speed (Units/c).
Definition: ximc.h:2464
float NominalCurrent
Maximum direct current in winding for DC and BLDC engines, nominal current in windings for stepper mo...
Definition: ximc.h:2508
unsigned int Accuracy
This is the neighborhood around the target coordinates, every point in which is treated as the target...
Definition: ximc.h:1726
result_t XIMC_API command_movr(device_t id, int DeltaPosition, int uDeltaPosition)
Shift by a set offset.
result_t XIMC_API set_nonvolatile_memory(device_t id, const nonvolatile_memory_t *nonvolatile_memory)
Write user data into the FRAM.
unsigned int CTPMinError
The minimum difference between the SM position in steps and the encoder position that causes the sett...
Definition: ximc.h:1929
result_t XIMC_API set_edges_settings_calb(device_t id, const edges_settings_calb_t *edges_settings_calb, const calibration_t *calibration)
Set border and limit switches settings in user units.
int Uusb
USB voltage, tens of mV.
Definition: ximc.h:2220
unsigned int PowerOffDelay
Time in s from going to STOP state to turning power off.
Definition: ximc.h:1558
unsigned int Major
The major number of the hardware version.
Definition: ximc.h:2336
uint32_t device_enumeration_t
Type describes device enumeration structure.
Definition: ximc.h:130
unsigned int MoveSts
Flags of move state.
Definition: ximc.h:2207
unsigned int t2
Time in ms between the brake turning off and moving readiness.
Definition: ximc.h:1791
result_t XIMC_API get_enumerate_device_network_information(device_enumeration_t device_enumeration, int device_index, device_network_information_t *device_network_information)
Get device network information from the device enumeration.
float NominalSpeed
Not used.
Definition: ximc.h:2509
float Antiplay
Number of pulses or steps for backlash (play) compensation procedure.
Definition: ximc.h:1516
float Efficiency
Reduction gear efficiency (%).
Definition: ximc.h:2639
PID settings.
Definition: ximc.h:1651
unsigned int Flags
Control flags.
Definition: ximc.h:1828
Synchronization settings.
Definition: ximc.h:1675
int Pot
Analog input, calibrated data.
Definition: ximc.h:2379
result_t XIMC_API get_hallsensor_settings(device_t id, hallsensor_settings_t *hallsensor_settings)
Deprecated.
unsigned int A1Voltage_ADC
"Voltage on pin 1 winding A" raw data from ADC.
Definition: ximc.h:2356
result_t XIMC_API get_sync_out_settings(device_t id, sync_out_settings_t *sync_out_settings)
Read output synchronization settings.
Joystick settings.
Definition: ximc.h:1899
long_t EncPosition
Encoder position.
Definition: ximc.h:2189
result_t XIMC_API command_power_off(device_t id)
Immediately power off the motor regardless its state.
result_t XIMC_API set_engine_advanced_setup(device_t id, const engine_advanced_setup_t *engine_advanced_setup)
Set engine advanced settings.
float ReductionOut
Output reduction coefficient.
Definition: ximc.h:2634
unsigned int CriticalIusb
Deprecated.
Definition: ximc.h:1580
char * pchar
Nevermind.
Definition: ximc.h:5285
EAS settings.
Definition: ximc.h:2087
float StallTorque
Torque hold position for a stepper motor or torque at a motionless rotor for other types of engines (...
Definition: ximc.h:2515
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)
Set input user unit synchronization settings.
int Position
The position of the whole steps in the engine.
Definition: ximc.h:2130