7.2. Software¶
Includes latest versions of XILab user interface application for Windows only, libximc library development kit, firmware binary and user manual.
Download full software package. Disconnect all controllers from the PC. Launch XILab installer. Full installation manual can be found here.
XILab, 1.14.8, last updated 15.02.2018¶
XILab can be downloaded here:
All XILab versions
Compatibility table
XILab changelog
Development kit, 2.9.14, last updated 26.04.2018¶
Download and extract: libximc-2.9.14-all.tar.gz
Development kit manual may be found here and in the /docs-en/index.html development kit file. Library is located in /ximc-2.9.14 and examples are in /examples.
PDF-version of the development kit manual can be downloaded here
All libximc versions
Compatibility table
Libximc changelog
Controller firmware¶
Download for 8SMC5: ximc-4.1.8-hw2.3.x.cod, last updated 12.01.2018
Download for 8SMC4: ximc-3.9.18-hw2.2.x.cod, last updated 06.06.2017
Firmware update instructions:
- Download firmware file.
- Start XILab
- It is recommended to make a backup of your XILab configuration file before firmware update.
- Open "Settings... -> Device configuration -> About device", press "Update" button, select new firmware file, press "Open".
- XILab might stop responding for a while. Please wait while firmware is being uploaded, it should take about 10-15 seconds.
- If settings have changed then load your configuration file and save it to the controller flash memory by pressing "Save to flash" button.
All firmware versions
Compatibility table
Firmware changelog
Configuration files¶
Configuration files may be found here.
LabView examples¶
Labview examples can be downloaded here: labview-2.9.14-Labview_12.0.7z
Drivers¶
On Windows controller doesnt need additional drivers, however you need an inf-file for the controller to be recognized by the operating system. It will be automatically installed with XILab. It can be found in "C:\Program Files\XILab\Driver" after installation. Also you may download it here: XIMC_driver.inf
Linux and MacOS do not require driver files.
Software for 8SMC1-USBhF controllers with 8SMC4-USB support¶
Software may be downloaded here: microsmc-2.3.0-win32_win64.zip
Detailed information is available here.
Firmware for USB-Ethernet adapter, 1.1.0, last updated 11.07.2016¶
The software can be downloaded here: cubian-1.1.0-armhf.7z
Detailed information is available here.
All Firmware USB-Ethernet adapter versions
Firmware changelog
REVEALER, 0.1.0, last updated 16.04.2017¶
The software can be downloaded here:
Detailed information is available here.
All REVEALER versions
REVEALER changelog
All XILab versions¶
XILab changelog¶
View...View...
- 1.14.8
- Bufgix: grf files save and restore
- Bugfix: add backlash compensation clamp
- Bugfix: fix cyclic borders overflow
- 1.14.7
- Bugfix: control and home settings not apply
- 1.14.5
- Bugfix: EXTIO interrupt cyclic motion
- Bugfix: get_status() in scripts
- Bugfix: revolution sensor switch in BLDC
- Bugfix: problems with third-party libraries in PATH
- Feature: oscilloscope
- Feature: linear motor wizard
- 1.13.14
- Feature: Change unit types in Settings on feedback type change (updated)
- Bugfix: Log firmware hash validation errors
- Bugfix: ximc_fix_usbser_sys is now properly called again if controller is lost
- Bugfix: Wrong displayed rotator speed for some stage types
- 1.13.13
- Feature: Added protocol 17.2 support
- Feature: Added flag indicators to main window taskbar
- Feature: Added failed enumerate indication in Xilab start window
- Feature: Moved detection settings into start window
- Feature: Deprecate old script syntax
- Feature: Hide unused USB voltage/current fields for 8SMC5 controllers
- Feature: Bitmask script examples
- Feature: Allow encoder feedback for all engine types
- Feature: Added 8SMC4/8SMC5 firmware version filter
- Feature: Added Number of poles field for BLDC motor types
- Feature: Fix Cyclic, watch correct flag to check for movement status
- Feature: Show controller hardware version on About device page
- Feature: Added key management functions to start window settings
- Feature: Increased Max Voltage in all XILab profiles
- Feature: Change unit types in Settings on feedback type change
- Feature: Update slider/cyclic settings if user units change
- Feature: Renamed play compensation to backlash compensation
- Bugfix: Rare controller open errors
- Bugfix: Comment highlighting error in script window
- Bugfix: Hiding MSVC redist installer
- Bugfix: Removed percent-encoded device names in start window
- Bugfix: Charts alignment
- Bugfix: Erroneously disabled General motor page in multiaxis interface
- Bugfix: Cross-influence of Settings windows in multiaxis on OK/Apply
- 1.12.18
- Feature: Enable encoder feedback option for stepper motor type
- Feature: Updated click settings in profiles
- Bugfix: Erroneous speed display in multiaxis mode with encoder feedback
- Bugfix: Incorrect display of position in charts for DC and BLDC engine types
- Bugfix: Firmware display error in update list, zero versions were ignored
- Bugfix: Limit default button/joystick control speeds in profiles with max speed
- Bugfix: Incorrect grayout of Position control page
- Bugfix: Fixed chart refresh on chart data load in View window
- 1.12.15
- Feature: Support 16.12 communication protocol
- Feature: Support current RMS flag
- 1.12.14
- Feature: Support for 16.11 communication protocol
- Bugfix: Xilab did not refresh settings in Settings window after firmware update
- Bugfix: Wrong units were displayed on main window after feedback type change
- 1.12.13
- Feature: Adaptive timeouts in firmware update on error
- Bugfix: Bad rounding for DC motor speed fixed
- Bugfix: OpenLast sometimes failed, now fixed
- Bugfix: Xilab error on reset command with network controllers
- Bugfix: Xilab should not stop reconnection attempts on lost network controller
- Bugfix: Calibrated functions and structures in scripts now work properly
- Bugfix: Progress bar now lingers for 1 second on autoupdate
- Bugfix: Log failed firmware updates
- Bugfix: Xilab should open controllers without Probe_device flag set
- Bugfix: Attenuator interface bug fixed
- 1.12.10
- Feature: Support for 16.10 communication protocol
- Bugfix: Remove UAC elevation requirement.
- Bugfix: Virtual controller serials now work properly
- Bugfix: Fix for main window speed display of DC motor with user units enabled.
- 1.12.8
- Major change: Network-attached controllers are now supported.
- Feature: Friendly names are displayed on start window.
- Feature: Virtual controller functionality moved to libximc library.
- Bugfix: Fixed rapid flashing of firmware update notification window on some linux distributions.
- Bugfix: Require UAC elevation which is needed for software controller reset feature.
- Bugfix: Proper handling of malformed XML in server response to request for available firmware versions.
- 1.11.12
- Feature: Firmware choice menu added
- Bugfix: Fixed message in Xilab log on Alarm
- Bugfix: Fixed autotest script not to use deprecated functions
- Bugfix: Multiaxis Xilab became slow over time
- Bugfix: Annoying "Please check internet connection" message removed
- Bugfix: Some settings were not reset after Cancel button was pressed
- Bugfix: "Remove custom files" dialog header was missing
- Bugfix: "2nd move speed" on "Home position" did not obey grayout rules
- Bugfix: Typographic error in "Torque gradient" measurement units
- Bugfix: "Potentiometer" was renamed to "Analog input"
- Bugfix: Zero button was sending random settings to the controller on start
- Bugfix: Removed "steps per turn" 6-800 limit
- Bugfix: Changed "Position control" field description
- Bugfix: "Show secondary position" setting was not respected after restart
- 1.11.10
- Major change: XiLab supports attenuator (optical filter changer) hardware now. There is an built-in interface to set the filter manually or automatically according to the required transmittance.
- Minor change: Revised exception logic. Better stability and bug logging now.
- Minor change: XiLab now use Qt 4.8.6. Several GUI bugs were fixed this way.
- Feature: Script stop also stops the current motion by soft stop.
- Feature: Script function names are more logical now. Old names are supported for a while.
- Feature: Scripts now support saving to and loading from files.
- Feature: The axes of the multiaxis interface were labeled.
- Feature: There is auto firmware update button now. No need to download the latest firmware manually.
- Feature: Multiaxis interface shows 2D trajectory now.
- Feature: Singleaxis interface can be controlled by arrow hotkeys same way as multiaxis.
- Feature: The unlikely event of two identical serial numbers is checked and the user is notified.
- Feature: Qt version that is used is now showed in the About tab of settings.
- Feature: XiLab version is showed on the main window to make bug solving easier.
- Feature: Internal components versions are now in one format that allows copying to be pasted.
- Bugfix: Long numbers do not warp the multiaxis interface anymore.
- Bugfix: Script function names are
- Bugfix: Fixed charts behavior while changing positioning units on the go.
- Bugfix: SM### (step motor No ###) was changed to SN### (serial number ###) in the GUI.
- Bugfix: Some built-in script functions were not highlighted in the script editor.
- Bugfix: Friendly name is not overwritten on profile load now.
- Bugfix: Potentiometer feedback was removed as never to be implemented.
- 1.10.14
- Bugfix: Profiles updated
- Bugfix: Add virtual controllers button could erroneously open controller on cancel
- Bugfix: Read-only files now should not generate "failed opening file" error
- Bugfix: Save inactive settings in multiaxis interface
- Bugfix: Charts autostart was broken on some Linux desktop managers
- 1.10.11
- Bugfix: Locale-aware decimal separators
- Bugfix: Flush script environment after stop
- Bugfix: Limit switches wrong display
- 1.10.10
- Feature: Multiaxis interface now correctly saves window sizes and positions
- Feature: Stop script if Stop button in main window is pressed
- Feature: Removed rounding on TTL page because firmware now supports microsecond accuracy
- Feature: newaxis script function is deprecated in favor of new_axis
- Bugfix: Maximum speed limit fixed
- Bugfix: Incorrect settings when switching between DC and stepper motor profiles
- Bugfix: Log message is now autoresized to window width
- Bugfix: Updated linux dependency to >= libximc 2.3.0
- Bugfix: Fixed wrong unit type for DC engine nominal speed
- Bugfix: Removed window size limits on MacOS
- Bugfix: Added heuristic to use ximc_fix_usbser_sys if device does not respond
- Bugfix: Fixed an edge case with virtual controller serial number handling
- Bugfix: Multiaxis interface should not resize by itself
- 1.10.6
- Major change: Fully calibrated user interface
- Major change: Virtual controlllers save internal state, can move and return randomized measurements
- Major change: Rpm/step units depend on feedback instead of engine type
- Feature: Input field validation happens on lost focus
- Feature: Enable opening of controllers even if "probe devices" is turned off
- Feature: Graphs export to CSV now available
- Feature: Target position indicator in multiaxis interface
- Feature: Log window is visible by default
- Feature: Charts autostart option, turned on by default
- Feature: "Force stop" option for unresponsive scripts
- Feature: Add exception handling
- Feature: All file errors are logged now
- Feature: Window close button now also saves window position
- Feature: "Remove all custom configurations" option
- Feature: Can now use Unicode symbols in text fields
- Bugfix: Intermittent failure to reopen device on linux
- Bugfix: Uninstaller was not removing all files
- Bugfix: Multiple virtual controllers conflict
- Bugfix: TS_type key was being saved incorrectly
- Bugfix: Script examples worked in single-axis mode only
- Bugfix: Removed "#1" suffix from device name in device driver
- Bugfix: "Save to flash" button changed state only on settings window reopen
- Bugfix: .inf-file signature was incorrect
- Bugfix: Random color was saved in Graph_flags_setup section
- 1.9.18
- Bugfix: Positioner name field was read-only
- 1.9.17
- Bugfix: X-Y buttons in multiaxis interface fixed
- Bugfix: Corrected Xilab download link on About page
- Bugfix: Fix rounding issues in input fields (linux)
- Bugfix: Fix input validation in floating-point value controls
- 1.9.16
- Bugfix: Moved "New instance of Xilab" menu from dock right-click menu to app menubar on MacOS
- Bugfix: Modal dialog was sent to background in some cases (for ex. on firmware update)
- Bugfix: Maximum speed is now limited by 100000
- Bugfix: Unit suffixes disappeared on stage pages in settings window
- Bugfix: Attempting to load graphs in unknown format now results in an error
- 1.9.15
- Bugfix: Drop-down list selection elements cannot be changed in usermode
- Bugfix: Scripts were missing get_position and set_position functions
- Bugfix: Script wrapper function wait_for_stop uses command completion flag instead of movement flag now
- Bugfix: Overwriting a settings ini-file now erases its previous contents instead of merging
- Bugfix: Border-to-border cyclic motion works properly with any combination of limit switch states
- 1.9.14
- Bugfix: Stage settings grayout on settings page reopening
- Bugfix: Feedback radiobutton on DC motor page now doesn't behave like a checkbox
- Bugfix: SVG render warning on Windows XP
- 1.9.13
- Bugfix: Mac OS X Qwt 6.0 library paths fixed, application error is gone.
- Bugfix: Floating point number spinboxes round off their values to float-precision on lost focus instead of reopened window.
- Bugfix: "Save to file" button saves current displayed settings instead of those applied to the controller.
- Bugfix: Position control page is now grayed out with encoder or hall sensor feedback, like it should be.
- Bugfix: Z axis background color changes to window background color if this axis is inactive.
- Bugfix: Movement indicator icon is now shown, added warning if svg resource cannot be loaded.
- Bugfix: Removed erroneous limits in "power off delay" and "current in hold mode" ranges on power management page.
- 1.9.12
- Bugfix: Added missing set_controller_name, get_controller_name, set_add_sync_in_action, set_add_sync_in_action_calb, get_chart_data, get_analog_data, get_debug_read, set_stage_name, get_stage_name functions to scripts.
- Bugfix: Properly handle situations with lost devices and device reordering in multiaxis interface.
- Bugfix: Grayout settings pages that are not applicable in multiaxis interface.
- Bugfix: Grayout power management page for DC and BLDC engine types.
- Bugfix: Fix slider axis multiplier for really small ranges in single-axis interface.
- 1.9.11
- Major change: Unified Windows installer for both 32-bit and 64-bit systems.
- Major change: new communication protocol 16.6 is now supported.
- Feature: Added user units calibration to single-axis interface.
- Feature: Added power driver failure and borders misset alarm flags visualization.
- Feature: Added EEPROM precedence option that allows either load settings from memory equipped positioner by default or ignore that settings.
- Feature: Added working region support for multiaxis interface.
- Feature: Secondary GUI windows are bought back when application focus is lost and restored. It improves usability.
- Feature: Multiaxis interface borders are set according to controller settings.
- Feature: Optimized positioner EEPROM readings to avoid excess communication.
- Feature: A valid security certificate allows flawless Windows 8 installation now.
- Feature: Added visualization for free buffer space in controller for synchronization actions.
- Feature: Default logging settings are optimized to store important data before something happens.
- Feature: Removed Update borders button because it was confusing to users.
- Feature: MacOS X version is distributed as .tar.gz archive instead of .dmg volume.
- Feature: Resistive potentiometer support removed.
- Feature: Hall sensors are added to graphs.
- Feature: Scripts now have access to calibrated functions.
- Feature: Added wait_for_stop function to scripts.
- Feature: Added get_next_serial function to scripts.
- Feature: Single-axis interface now supports multiaxis script syntax.
- Feature: Added log window to multiaxis interface.
- Feature: Multiaxis calibration is now per-axis.
- Feature: Script syntax checker.
- Bugfix: DC engines nominal voltage was disabled in GUI when voltage limiting is off, but it is used in PID control and must never be grayed out.
- Bugfix: PWM level chart updated values at the wrong times.
- Bugfix: TTL sync page was skewed on MacOS X.
- Bugfix: Added default name when saving profile.
- Bugfix: Scripts in multiaxis interface now work properly.
- Bugfix: Step division couldn't be changed. Now it can.
- Bugfix: Slider settings for single axis and multiaxis interface are compatible now.
- Bugfix: Array elements in settings structures are now supported.
- Bugfix: Limit_switch_1_pushed_is_closed setting was incorrectly named Limit_switch_1_pushed_is_open.
- Bugfix: Fixed smart Stop button behaviour.
- Bugfix: Stage accessories page did not save its settings.
- Bugfix: Stage settings could not be saved to or loaded from file.
- Bugfix: Script highlighting.
- Bugfix: Scripting interface was unresponsive on long script files.
- Bugfix: Move to and Shift to precision fixed.
- Bugfix: Shortened example scripts.
- Bugfix: Settings pages were inactive after unsuccessful firmware update.
- Bugfix: Correctly save settings after losing connection to the device.
- Bugfix: Axes control widget in multiaxis interface now doesn't move mouse while controlling with keyboard arrows.
- Bugfix: Load engine settings for all pages (stepper, DC, BLDC).
- Bugfix: No default user interface autoselections if no controller settings match.
- Bugfix: Script editor font is now fixed size.
- Bugfix: Stage pages use unified motor settings instead of separate motor type pages.
- Bugfix: Incorrect rounding in spin box controls.
- Bugfix: Slider uses user units.
- Bugfix: Multiaxis interface incorrectly interpreted decimal places precision as significant figures.
- Bugfix: Set_zero script works properly with single-phase homing.
- Bugfix: Enabled revolution sensor.
- Bugfix: Encoder output type display on stage page fixed.
- Bugfix: Main window slider was incorrectly showing percentages instead of absolute values.
- Bugfix: Winding voltage/current are now correctly disabled depending on motor type
- 1.8.30
- feature: Profile files added and updated
- 1.8.29
- feature: Profile files added
- 1.8.28
- feature: Initial autogenerated release
All libximc, MicroSMC and XIMC_Labview versions¶
Officially supported Labview 12.0, other versions are re-saving with compatibility for earlier versions (not tested)
The build instruction for libximc-src is in the libximc archive in the ximc\doc-en folder
Libximc changelog¶
View...View...
- 2.9.14
- Feature #19327: add documentation link in labview example
- Feature #20799: microsteps in labview
- Feature #22377: improve examples
- Feature #22379: add driver folder
- 2.9.12
- Bug #8618 python example fixed
- Bug 12959 logging in wrong file
- Feature #19562 remove freebsd
- Feature #19626 examples refactoring
- Feature #20446 replace name -> uri
- Feature #20082 add anonymous user to build.sh
- Compatibility with 18.x protocol commands added.
- Current limit, hbridge fault, encoder fault and winding resistance mismatch flags added.
- 2.9.11
- Bug: testapp compilation on MacOS
- Bug: testapp compilation on Linux
- Bug: Matlab on Linux and MacOS
- Bug: Java, C#, C, VB examples with network enumerate (add keyfile)
- Bug: Changed the manual to launch most of the examples
- Feature: more nice examples for Matlab
- Feature: Description for bindy_key in examples
- 2.9.8
- Feature: Protocol 17.2 support
- 2.8.10
- Feature: Protocol 16.12 support
- 2.8.9
- Feature: 64-bit dotNET wrapper
- Feature: Check device_enumeration_t validity
- Bug: Fixed python calibrated functions
- Bug: Fixed WinXP support
- 2.8.8
- Feature: Support "Alarm on ExtIO" option
- 2.8.7
- Bugfix: Fixed device discovery on OS X 10.11
- Bugfix: Java doxygen documentation
- Bugfix: Added libjximc.jar for win32 example
- 2.8.5
- Feature: Python support
- Feature: Disabled SSE optimizations to support very old CPUs
- Bugfix: Added Java doxygen documentation
- Bugfix: Fixed network controller broadcast discovery on Linux
- Bugfix: open_device should work without prior device_enumerate call
- 2.8.4
- Feature: Added wait_for_stop() function.
- Bugfix: Fixed libximc on 32-bit matlab.
- Bugfix: Fixed compilation of testapp and testappeasy examples on Linux.
- Bugfix: Better documentation for java wrapper.
- Bugfix: Network enumerate respects enumerate timeout.
- Bugfix: Do not synchronize if device is lost (faster reaction time).
- 2.8.0
- Major change: New communication protocol 16.8 is now in use.
- Major change: Added support for network-connected controllers.
- Major change: Added support for virtual controllers.
- Major change: API changes.
- Major change: Support for debian wheezy on ARMv7 targets (tested on cubieboard2).
- Feature: New userdata logging interface.
- Bugfix: Fixed documentation about using Debian 7 and OpenSUSE 12.
- Bugfix: Support ENUMERATE_ALL_COM flag on MacOS.
- Bugfix: Fix process termination if incorrect MicrostepMode value is used.
- Bugfix: Added 32-bit SuSe build target.
- Bugfix: Fixed Matlab example on 64-bit Windows.
- Bugfix: Fixed Access Violation in get_controller_name().
- 2.3.2
- Bugfix: cleaned up MacOS metadata files in distribution tar
- 2.3.1
- Bugfix: set_ functions in C# no longer cause an exception
- 2.3.0
- Major change: Library-level device locks
- 2.2.2
- Bugfix: Support 64-bit data types for LabVIEW bindings
- 2.2.1
- Bugfix: Synchronization now works properly.
- 2.2.0
- Major change: New communication protocol 16.6 is now in use.
- Feature: Calibrated commands without microstep.
- Feature: Arrays as calibrated fields.
- Feature: Calibrated fields of velocities.
- Feature: Added user units in C# and Delphi programming languages.
- Feature: Added Java bindings.
- Bugfix: libximc is built differently.
- 2.0.5
XIMC_Labview changelog¶
View...View...
- 2.9.14
- Feature #19327: add documentation link in labview example
- Feature #20799: microsteps in labview
- 2.9.12
- Bug #20040: fix init device .vi missing
- 2.9.11
- Updated to libximc revision 2.9.11
- Fix infinite motion in simple example
- Add simple example for network enumerate
- Add calibration example
- 2.8.5
- Updated to libximc version 2.8.5.
- 2.8.4
- Updated to libximc version 2.8.4.
- Added wait_for_stop function to simple example.
- 2.8.0
- Updated to libximc version 2.8.0.
- 2.3.0
- Updated to libximc version 2.3.0.
- 2.2.2
- Updated to libximc version 2.2.2.
- 2.2.1
- Initial version of XIMC labview library
Microsmc changelog¶
View...View...
All firmware versions¶
Firmware changelog¶
View...View...
- 4.1.8
- Fixed bug: In rare cases, the controller with DC motor can ignore the limit switches
- Fixed bug: Sometimes the «Move to» command isn’t completed
- Fixed bug: Incorrect behavior after switching from stepper motor to DC motor
- 4.1.6
- Feature: Revolution sensor can capture very narrow pulse (50 us). Option is activated only in encoder differential mode.
- Feature: BLDC algorithm are supported! Brushless direct current engines are very energy efficient.
- Feature: Graphical user interface for PID tuning is supported. The interface will be provided to the user after a special request for technical support.
- Fixed bug: In rare cases, the homing procedure can never be completed (see program indicators, physically the stage stops). Related bug - controller can't shift on 1 encoder count.
- 4.1.5
- Fixed bug: In rare cases, the controller with DC motor can ignore the limit switches
- Fixed bug: Sometimes the «Move to» command isn’t completed
- Fixed bug: Incorrect behavior after switching from stepper motor to DC motor
- 4.1.4
- Feature: Differential encoders are supported! In differential mode, the maximum state rate is up to 20 megastates/sec (frequency of square wave 5 MHz for each channel).
- Feature: Encoders with high resolution are supported! Counts per turn is up to 4294967295 (previously maximum counts per turn 65535).
- Feature: Closed-loop algorithm for stepper motors are supported! The motor can no longer lose any steps up to its maximum torque. If the controller recognizes that the rotor is falling behind the stator field due to overload, adjustments are made with optimal field angle and increased current.
- Fixed bug: In rare cases engine can interfere with a signals "over temperature" and "bridge fault". Now the signals is filtered by 25 ms.
- 4.0.9
- Feature: Two homing algorithms are available. Traditional homing is useful for a big motors with very inertial load. Fast homing is useful for little motor with long translation line.
- Feature: For stepper motor with feedback encoder more stable behavior was reached when rotating.
- 4.0.7
- Fixed bug: #12380. Stepper motors algorithm was reprogrammed using floating calculations in the critical sections. Noise near speed 255 steps/s was decreased.
- Fixed bug: #14464. 8SMC5's data structures of EEPROM are shifted with respect to the same in 8SMC4.
- 4.0.4
- Feature: The new algorithm for stepper motors with encoder. Now encoder can prevent the motor stucking when it reach rezonance speed. More stable and smooth rotation for stepper motors with high nominal current (1.2 A and more).
- Fixed bug: There was no synchronization of the PWM signal. In rare cases, this could lead to unstable rotations.
- 3.9.18
- Feature: Two homing algorithms are available: traditional and fast homing. Fast homing is commonly used for most small positioners. Traditional homing is better for large and heavy positioners.
- Fixed bug: The virtual position now changes with the real one when the motor power is off. With no current in the motor windings, the values of the real and virtual positions could diverge when the rotor of the motor was turned.
- 3.9.16
- Feature: The new algorithm for stepper motors with encoder. Now encoder can prevent the motor stucking when it reach rezonance speed. More stable and smooth rotation for stepper motors with high nominal current (1.2 A and more).
- Fixed bug: There was no synchronization of the PWM signal. In rare cases, this could lead to unstable rotations.
- 3.9.14
- Feature: The nominal current can be interpreted as an RMS (root mean square) value. It's most popular interpretation of nominal current of stepper motors. So, if user uses new profile for his positioner, its torque will be increased.
- Fixed bug: If software limit switches are activated and the engine is stucked in one by 'Shift on' command then in rare cases backward move will incorrect.
- Fixed bug: The synchronization input and the external general purpose input don't accept event when user reverses their active state in settings.
- Minor change: More robust settings update.
- Minor change: Internal timer has been improved. It had 16 bits counter in the past, now 32 bits counter.
- 3.9.12
- Feature: Support "Alarm on ExtIO" option.
- Fixed bug: CLOCK and DIR pins on external conrol were swaped.
- Fixed bug: When ExtIO has active state it rarely didn't result in motion stop when it should.
- 3.9.11
- Fixed bug: Semi closed-loop control module for stepper motor has been fixed. The controller wasn't capable of any movement if there was an alarm signal on the module.
- Fixed bug: The joystick behaviour has been fixed. With firmware 3.9.10 the uncontrolled movement to the right is occurred.
- Fixed bug: The soft stop correctly occurs without any motion. Earlier if any motions are absent the soft stop was cause of a little changes of position.
- Minor change: More robust settings update.
- 3.9.10
- Feature: Every protocol command verify its values now. The "errv" error is generated in case of wrong input values and the values are fixed.
- Fixed bug: After immediate stop there was big power consumption resulting in safety logic power cutoff with some motors.
- Fixed bug: A small position overshoot could happen due to the long position autosave calculations. Now it is much faster.
- Fixed bug: Software fix for high EMI that could result in false limit switch triggering.
- Fixed bug: Move command (and other motion commands) could be ignored rarely. Not anymore.
- Fixed bug: Limit switch triggering rarely didn't result in motion stop when it should.
- Fixed bug: Either "sync out" or "sync in" was working at the same time, so noone could use them both.
- Fixed bug: MVCMD_RUNNING was set with a delay of 1 ms. It resulted in wait_for_stop premature finishing.
- Fixed bug: The controller behaviour became unpredictable after 49 days of nonstop operation.
- Minor change: More robust settings update.
- Minor change: Simplified CRC control logic. Same algorithm - less code.
- 3.9.9
- Feature: Semi closed-loop control for stepper motor can be enabled when encoder is present. It will retain the step position at any step loss. It is activated in position control block.
- Feature: New flag in status structure - STATE_IS_HOMED. It shows whether the device is homed right now.
- Fixed bug: Limit switch rarely didn't result in motion stop when it should.
- 3.9.8
- Feature: Homing is much faster now. It uses a different approach with the same accuracy.
- Fixed bug: Homing stability improved. No more failed homings right after HOME command.
- Fixed bug: Motor current is checked better during set command.
- 3.9.7
- Feature: Estimated motor parameters are now kept between reboots to make each new movement start after reboot smoother.
- Fixed bug: EEPROM chip in the stage was not operational on 2.2.3 hardware.
- Fixed bug: Step motor slip event was erroneously detected at the bootup.
- Fixed bug: Step motor virtual movement was not stopping at the event of power loss.
- Includes all latest bugfixes of 3.8 branch up to 3.8.14 firmware.
- 3.9.5
- Major change: New algorithm of step motor movement. There are higher torque on high speeds, no overcurrents or undercurrents now.
- Feature: Autotuned motor parameters are saved automatically now. There will be no noises during the first movement after the power up.
- 3.8.19
- Feature: The nominal current can be interpreted as an RMS (root mean square) value. It's most popular interpretation of nominal current of stepper motors. So, if user uses new profile for his positioner, its torque will be increased.
- Fixed bug: If software limit switches are activated and the engine is stucked in one by 'Shift on' command then in rare cases backward move will incorrect.
- Fixed bug: The synchronization input and the external general purpose input don't accept event when user reverses their active state in settings.
- Minor change: More robust settings update.
- Minor change: Internal timer has been improved. It had 16 bits counter in the past, now 32 bits counter.
- 3.8.17
- Feature: Support "Alarm on ExtIO" option.
- Fixed bug: CLOCK and DIR pins on external conrol were swaped.
- Fixed bug: When ExtIO has active state it rarely didn't result in motion stop when it should.
- Fixed bug: The soft stop correctly occurs without any motion. Earlier if any motions are absent the soft stop was cause of a little changes of position.
- Minor change: More robust settings update.
- 3.8.16
- Feature: Every protocol command verify its values now. The "errv" error is generated in case of wrong input values and the values are fixed.
- Fixed bug: Software fix for high EMI that could result in false limit switch triggering.
- Fixed bug: Move command (and other motion commands) could be ignored rarely. Not anymore.
- Fixed bug: Limit switch triggering rarely didn't result in motion stop when it should.
- Fixed bug: Either "sync out" or "sync in" was working at the same time, so noone could use them both.
- Fixed bug: MVCMD_RUNNING was set with a delay of 1 ms. It resulted in wait_for_stop premature finishing.
- Fixed bug: The controller behaviour became unpredictable after 49 days of nonstop operation.
- Minor change: More robust settings update.
- Minor change: Simplified CRC control logic. Same algorithm - less code.
- 3.8.14
- Feature: Now support latest protocol with bootloader version commands.
- Fixed bug: Sending "Zero" command during rotation makes both primary and secondary position zerofication at the same time, and not at close times like before.
- Fixed bug: Zero speed, acceleration, and decelerations are denied now preventing virtual stalling.
- Fixed bug: Unnatural high speeds and low deccelerations combinations are denied now preventing incorrect long deceleration.
- Fixed bug: Changing engine revers setting during rotation was stopping any rotation until reboot. It makes the device go to the regular Alarm state now.
- Fixed bug: Sending movement commands too frequently resulted in wrong LED blinking and possibly wrong syncout pulses. Fixed.
- Minor change: More robust protocol implementation.
- Minor change: More robust implementation of link between movement start/stop and associated actions.
- 3.8.11
- Fixed bug: EEPROM precedence flag didn't work.
- Major change: Revised engine abstraction block, reducing code and making it more robust.
- 3.8.10
- Fixed bug: Settings could be loaded erroneously during bootup.
- Fixed bug: Movement command status may be left "active" after command execution is finished. Now command execution is more robust.
- 3.8.9
- Fixed bug: Movement can be started in direction of active limit switch in DC motor control.
- Fixed bug: Sometimes movement in an active limit switch direction can leave status of active command even when no command is executed.
- Fixed bug: Sending "stop" and other movement command during one millisecond can result in erroneous execution.
- 3.8.8
- Feature: Stop on limit switch is triggered under "intention prohibition" rather than "prohibited event" which is more robust under closed loop control.
- Feature: Full current is measured synchroneously with motor PWM now.
- Fixed bug: High acceleration and deceleration at low movement speeds resulted in oscillations near target position.
- Fixed bug: Movement to large coordinate could result in wrong direction of the movement.
- Fixed bug: Setting encoder position ignored high 32 bits of 64 bits.
- Fixed bug: Acceleration and motor revers may not apply when simultaneously change engine type.
- Fixed bug: Limit switches may be ignored when movement commands are sent too frequently (for example under joystick control).
- 3.8.7
- Major change: Protocol 16.6 with incompatibilities regarding EEPROM section of the commands.
- Major change: Completely new motor revers logic. It removes bug with encoder reverse recognition and must be much more stable.
- Major change: Revised power control logic.
- Feature: A fixed position shift on button click when the external buttons are in control is implemented.
- Feature: USB connection can restart itself when connection breaks. It helps to restore connection after statick discharge.
- Feature: Backlash compensation with LOFT command works during motion with a define behaviour now.
- Feature: BLDC engines is better supported due to new settings in protocol 16.6.
- Fixed bug: The initial settings made first movement too power consumping at first 200 ms that can result in power supply overcurrent protection triggering.
- Fixed bug: Previous version has buggy ZERO command operation. Fixed now.
- Fixed bug: Border limits may become inoperable when any feedback is used due to zero speed at the moment of border triggering.
- 3.8.4
- Fixed bug: Possible oscillations around target positions on low acceleration and deceleration
- 3.8.3
- Added feature: Initial firmware
Compatibility table¶
Protocol version |
XILab |
libximc |
firmware |
16.3 |
1.8.28-1.8.30 |
2.0.5 |
3.8.3-3.8.4 |
16.6 |
1.9.11-1.9.18 |
2.2.1-2.2.2 |
3.8.7-3.8.11 |
16.6 |
1.10.6-1.10.14 |
2.3.0-2.3.2 |
3.8.7-3.8.11 |
16.8 |
1.11.10-1.11.12 |
2.5.0 |
3.9.5-3.9.8 |
16.8 |
1.12.7-1.12.8 |
2.8.0 |
3.9.5-3.9.8 |
16.10 |
1.12.10 |
2.8.4-2.8.5 |
3.9.9 |
16.10 |
1.12.13 |
2.8.7 |
3.9.10-3.9.11 |
16.11 |
1.12.14 |
2.8.8-2.8.9 |
3.9.12 |
16.12 |
1.12.15 |
2.8.10 |
3.9.14 |
16.12 |
1.12.18 |
2.8.10-2.8.12 |
3.9.14-3.9.16 |
17.2 |
1.13.13-1.13.14 |
2.9.8-2.9.12 |
3.9.16-3.9.18, 4.0.4-4.0.9 |
18.1 |
1.14.5-1.14.8 |
2.10.3 |
4.1.4-4.1.8 |
All firmware versions for USB-Ethernet adapter¶
Detailed information is available here.
Firmware changelog¶
View...View...
- 1.1.0
- Bugfix: MAC address is not the same for every device anymore
- Bugfix: Services don't get stuck in transitional state anymore when enabled/disabled via web interface
- 1.0.0
All REVEALER versions for USB-Ethernet adapter¶
REVEALER changelog¶
View...View...