Release Notes#
Mirrorcle Software Suite
Latest Version: 11.1.1.0
Last Updated on 10/23/2024
11.1.1.0#
Release Date 2024-10-23
MirrorcleDraw
Added option to reset controller (MCU) in MirrorcleDraw menu
Added modulation down to resolution of 0.25Hz for lissajous pattern in Signal Generator program mode
Added option to use enumerated strings defined as PlotType for external plot type in mirrrocledraw.ini
Fixed bug in MirrorcleDraw causing wrong external plot name after changing the plot type
MirrorcleLinearRaster
Added calculation to use new parameter in LinearRasterPattern() function, dRatio, more explicitely. Value is calculated larger for fast scans that utilize more bandwidth and smaller for slower scans that do not challenge the available bandwidth.
Fixed bug causing blank screen when no device is connected (adds message)
MTIDevice-Demo
Added more explicit use of all the parameters in SendDataStream() calls to clarify different uses of delaySamples, minimizeJump, and compensateFilterDelay parameters
Improved the UI in tracking and RGB examples
Updated delaySamples parameter in both raster demos LinearRasterDemo() and RQWaveformDemo().
Updated all tracking example function names to be more descriptive, matching what happens inside
Fixed bug causing delay in SingleTargetTracking_StreamingData_Lissajous() tracking example, previous function name was DataMode7Raster()
Fixed bug causing issue with digital (M) Data rotation in LinearRasterDemo() when using LinearRasterPattern with unlimited streaming
C++ SDK
Added dRatio parameter to LinearRasterPattern() with deafult value of 0.08f. Allows users to control how much of a given scan distance to allocate to the turning (decellerate and accelerate) portion of the scan. Previously was internally set to 0.05f.
Updated comments for many functions in MTIDevice.h to better describe functionality and parameters
Updated RQWaveform() alghorithm to optimize sample rate and npts, and allowing any waveform length
Updated how internal values for last outputted sample are obtained. Now GetXStop(), GetYStop(), GetMStop(), and GetIStop() functions return last outputted sample position after StopDataStream(), as well as after any SendDataStream() and ResetDevicePositions() Updated API includes an update to the internal values inside of SendDataStream(), such that the last sample sent to Controller after a SendDataStream(), or after StopDataStream(), or ResetDevicePosition() will return as the ‘last outputted sample’. These internal values are utilized to rotate new data in SendDataStream if ‘minimizeJump’ parameter is true, or by user to query where beam is pointing after they stop controller sampling.
Fixed bug causing wrong modulation frequency in LissajousWaveform, and allow xFreq, yFreq, modFreq resolution of 0.25Hz
Fixed bug causing visible returning point in LinearRasterPattern function
Mirrorcle MEMS Controller Bootloader Application
Updated the application version to V1.3. This version can replace the firmware more quickly and easily without requiring unplugging the controller cable to reset the controller. New version sends ResetDevice() command to reboot the controller into bootloader mode and then connects to controller bootloader firmware.
11.1.0.0#
Release Date 2024-07-16
MirrorcleDraw
Added external plots using OpenCV to visualize content on different axes. Can be controlled with ExtPlotEnable=1 in mirrorcledraw.ini
Added more protection in various Menu/Mode changes
Added direction option in animation scrolling
Added “SoftStart” device protection loop for all content if SignalsSoftStart=1 is set in mirrorcledraw.ini.
Improved device safety protections during the flashing sequence
Improved GUI responsiveness when sending multiple waveforms/data streams consecutively
Fixed bug causing square waveform in signal generator Program Mode to output a sawtooth waveform
MirrorcleDemo
Added Marquee text scrolling demo
Added color coding to text in the application to differentiate parameters, Controller specifications, and waveform specifications
MirrorcleLinearRaster
Added new X/Y/M vs Time plot to visualize the waveform axes progression over time.
Added unlimited waveform streaming option using new MTIDataMode::Sample_Output_FIFO for Controllers with firmware version >8.0.0, and DeviceStatus-based streaming using ping-pong streaming for Controllers with firmware versions <8.0.0
MTIDevice-Demo
Added an RQWaveform-based raster as an alternative raster scanning option. Now users must choose between resonant-quasistatic or linear raster scans in Raster Demo.
Added color coding to texts in the application to differentiate parameters, Controller specifications, and waveform specifications
Added external plot windows using OpenCV to view the waveform prepared by the following demos:
Scanning Demo
Import File with Samples Demo
Import File with Keypoints Demo
Import File with Keypoints and Time Demo
Hershey Text Demo
Raster Demo using MTIDataGenerator functions (Linear Raster Pattern and RQ Waveform)
MirrorcleListDevices
Added additional information about the Controller:
SampleRate_Max
SamplesPerFrame_Max
SyncMode
DataMode
MirrorcleShow
Added color range interpolation option to Show Files
The format for specifying color animation/interpolation is [FROM_COLOR]|[TO_COLOR]|[NUM_INTERP_STEPS]
For Monochrome Playzers, use of the color interpolation applies grayscale control
Added the ability to re-import .ini file. Configuration settings can now be easily reloaded by pressing the “I” button.
Added inverse system filtering (ISF) filtering option
Added verbose mode which can be activated within the ini file
Added data rotation feature which allows rotation of data about any of the 3 axes (X, Y, and Z)
C++ SDK
Added new MTIDataMode, MTIDataMode::Sample_Output_FIFO to enable streaming of waveforms with unlimited length
Added several new functions to MTIDataGenerator for plotting X/Y/M waveform data using OpenCV.
Added RotateData function into MTIDataGenerator for rotation about all 3 axes
Added new leftToRight parameter to AnimationScroll() function to allow for scrolling of content in both directions
Fixed missing software filter in RQWaveform function
Fixed bug that causes stack/heap corruption when calling HersheyDataStream with leading space in the text input.
Improved device safety protections during the flashing sequence
Changed ExportFile function decimal formatting and removed limitation on number of points.
Changed MTIDataGenerator::LinearRasterPattern Digital Output number (M) bit definition - Bit 3 shows Y-Axis direction
Removed the limit on maximum number of points returned by MTIDataGenerator::LinearRasterPattern
Matlab SDK
Added new MTIDataMode, MTIDataMode.Sample_Output_FIFO to enable streaming of waveforms with unlimited length
Added safety for out of range parameters
Added ExportFile function into the MTIDevice library
Added Trapezoidal Data interpolation
Added new unlimited waveform streaming option for LinearRasterPattern
Fixed bug causing indexing error in LinearRasterPattern
Changed device safety protections during the flashing sequence
Changed MTTDevice::LinearRasterPattern digital output number (M) bit definitions - Bit 3 shows Y-Axis direction.
PSD Add-On
Added a script to find resonant frequency at various combinations of X and Y offsets
Added a script to find frequency response and resonance at origin
Added a script to import data, run, and measure it on PSD
Added a script to measure PSD Distance
Added a script to measure X-axis static response
Added a script to measure X or Y axis angle vs. frequency response
LabVIEW SDK
Added PointToPointPattern function into LabVIEW API
Added Run Point To Point Pattern from PointTime File Example
Added unlimited waveform streaming option using new MTIDataMode::Sample_Output_FIFO for Controllers with firmware version > 8.0.0 to “Linear Raster Example.vi”
Added 64-Bit version of the library, available upon customer request
Fixed issues with UI that cause crashes during the execution.
Fixed bug causing crashes in “Run XYM from File with AI Buffer.vi”
Fixed bug causing glitches in “STOP” buttons and “Enable MEMS Driver” buttons in all examples
Fixed bug causing the MEMS Driver to stay enabled after stopping in the “Array-based XY Signal Generator.vi” example
Fixed bug causing the laser to toggle on and off after pressing “STOP” button in “Array-based XYM Signal Generator.vi” and “Array-based XY Signal Generator.vi” examples
Fixed bug causing the Digital Output (M) value to not change while running the “Array-based XY Signal Generator.vi” example
11.0.4.0b#
Release Date 2023-01-11
Python SDK
The Python SDK is now built and shipped with support for 64-bit Python 3.10 versions.
11.0.4.0#
Release Date 2022-01-14
MirrorcleDraw
Fixed bug causing the Animation Time scrollbar to be positioned incorrectly when changing sample rates
Fixed bug where the Animation Time scrollbar bounds did not display full precision (steps of 0.5s are allowed) and were not updated correctly
MTICamera-App
UI improvements to several demos
Fixed issue causing crashing when switching between Person Detection Demo and Bouncing Lines Demo
C++ SDK
MTIDevice::GetPhotoDetectorValue has been removed from the API. This deprecated command no longer has function in commmunication with USB MEMS Controllers, and users of DEMO-01 and/or the Laser Tracking Bundle should continue to use GetAnalogInputValue, GetAnalogInputBuffer, and GetAnalogInputStream
Linux SDK
Fixed issue causing pre-built executables in the SDK to have linking errors. Pre-built Debug/Release folder is no longer included in the Linux SDK delivery. Users should now build the Linux SDK by following the Linux Quickstart Guide: Compiling the Linux SDK Examples
Decreased example project CMake minimum requirement from 3.10 to 3.1 and require CMAKE_CXX_STANDARD 11
11.0.3.1#
Release Date 2021-07-14
C++ SDK
Clarified STL namespace throughout MTIDataGenerator for
stdlib.h
andcstdlib
conflicting functions for improved compatibility with Linux
Linux SDK
Fixed bug affecting behavior of MTIDataGenerator functions: AffineTransformData, InitProjectiveTransformMatrix, ProjectiveTransformData, InitRadialTransformMult, and TransformData
Fixed bug preventing offsetting or otherwise transforming the scan in MTILinearRaster application
11.0.3.0#
Release Date 2021-06-30
MirrorcleDraw
Fixed bug causing MirrorcleDraw slideshow animation to not use atime
Fixed bug causing Unicode (UTF) characters to not display correctly within the window
Fixed FreqMin setting (mirrorcledraw.ini), FreqMin parameter is now applied immediately to frequency sliders
MirrorcleShow
Added color entry option within the MShow file to allow color transitions for RGB
Added “number of substeps” entry option within the MShow file as an alternative to substeps by increment
C++ SDK (Windows and Linux)
Fixed bug within MTIDataGenerator::SetupSoftwareFilter preventing single channel filtering
Improved safety and encapsulation of SyMPL 3D Lidar units from standard Mirrorcle Software Suite connections. Applications built from MTIDevice will no longer connect to SyMPL 3D Lidar devices. Applications built from MTILidar will no longer list standard MEMS Controllers.
Improved COM port restoration following unsuccessful connects.
Added increased device and laser safety to MTIDevice::SaveToFlash. New approach shuts off digital output and reduces waveform amplitudes during the flash memory writing which disrupts normal output sampling.
Python SDK
Added alternate build of the Python SDK with support for 64-bit Python 3.7 versions
Inherited all API improvements from C++ SDK (see full list above).
Matlab SDK
Added new demo, MTIDevice_Software_Filter_Example.m
Improved safety and encapsulation of SyMPL 3D Lidar units from standard Matlab SDK connections. The Matlab SDK will no longer connect to SyMPL 3D Lidar devices.
Improved COM port restoration following unsuccessful connects which previously required Matlab restart.
11.0.2.0#
Release Date 2021-01-14
MirrorcleDraw
Fixed bug preventing mtidevice.ini from correctly applying the RGBColor parameter to the data
MirrorcleShow
Significantly improved the UI
C++ SDK (Windows and Linux)
Added RGBJet coloring to non-RGB ILDA files in RGBExamples.cpp
Fixed BaudRate used in MTIDevice::GetAvailableDevices
Fixed bug in MTIDevice::SetRGBData(unsigned int rgbColor, unsigned int numSamples) that prevented certain colors from being applied to the data
11.0.1.0#
Major Release - C++ API update to C++11/C++14
Release Date 2020-11-27
The 11.0 release is intended to allow support for C++11 and C++14 core features (previously limited to C++98). Much of the APIs functionality will remain the same, but users upgrading from 10.x versions to 11.0 should carefully read the release notes to ensure compatibility.
MirrorcleDraw
Fixed bug in Vector Graphics > Lissajous starting phase values
Fixed - allow Scan Patterns > Raster and Imaging to choose odd number of lines
MirrorcleLinearRaster
Added data stream plotting to allow users to visualize the data stream that was sent to the Controller
Changed - keep driver enabled during session
MirrorcleDemo
Added LissajousDemo demonstrating lissajous waveforms
C++ SDK (Windows and Linux)
Transitioned from C++98 -> C++11/C++14. On Windows, this requires usage of Visual C++ 2017 v141 compiler toolset.
Added HersheyTextDemo - demonstrates usage of MTIDataGenerator’s text to content generation features.
Added HersheyTextDemoRGB - a full-color RGB variant of MTIDevice-Demo HersheyTextDemo for users of RGB Playzer
Added ModulationType::ModulationAmplUnipolar for use with MTIDatGenerator::LissajousCurve
Added MTI_DEGTORAD and MTI_RADTODEG to MTIDefinitions.h macros for convenience
Added MTIDataGenerator::LissajousWaveform which conforms to literal interpretation of X/Y channel frequencies as opposed to MTIDataGenerator::LissajousCurve
Added MTIDataGenerator::LissajousCurve function overload for differing xAmplitude, yAmplitude
Changed usage of OpenCV waitKey: when accepting return value, utilize cvWaitKey in place of waitKey.
Changed AnalogInputToOutputDemo, adding more detailed comments and fixing an issue where laser was not toggled on during demo
Changed AnalogInputToOutputDemo, added option to flash settings to the Controller
Changed ScanningDemo to stop after 8 patterns
Changed RQWaveform - replaced float numPeriods param with unsigned int type.
Changed MTIDataGenerator::LinearRasterPattern digital output number (M) bit definitions - bit 3 does not/will not reflect any features of the scan pattern
Fixed digital output (M) value off by one sample with respect to X,Y in SendDataStream
Fixed MTIDataGenerator::LinearRasterPattern discontinuity issues in unidirectional and bidirectional scans causing improper connection segments
Linux SDK
Added hershey.dat file for use with generating text data
Removed source code for MTILinearRaster from Mirrorcle Sofware Suite for Linux C++ SDK
10.7.3.0#
Highlight: Redefined and improved DOut for digital triggering/synchronization within LinearRasterPattern for raster scanning applications
Release Date 2020-10-22
MirrorcleDraw
Fixed erratic behavior of spirograph cycles and stopped supporting negative parameter values
MirrorcleListDevices
MirrorcleDemo
MTIDevice-Demo
UI improvements, primarily in tracking/imaging sections
C++ SDK
Redefined DOut during LinearRasterPattern and LinearRasterPatternImaging - now bit 3 is high during raster and low during retrace at end of frame
LinearRasterPattern and LinearRasterPatternImaging changed upper bits of M for MONO8 brightness while keeping lower bits in compliance with standard LinearRasterPattern M bit-mapping.
Consolidated SelectIODevice in MTIDevice-Demo and increased buffer size
TrackingExamples: increased the M value used to mark “ON” status from 1 -> 255
Linux SDK
Mirrorcle Software Suite for Linux will no longer ship with prebuilt bin folder in the SDK-Cpp folder (the bin folder for all applications remains unaltered)
10.7.2.0#
Release Date 2020-08-05
MirrorcleDraw
Fixed issue in MirrorcleDraw tracking/imaging feature where multiple imaging windows would open unpredictably
Fixed MirrorcleDraw tracking/imaging memory leak
C++ SDK
Removed MTIDevice::GetAPIVersion due to sensitivity to MSVC toolset version and frequent imcompatibility with C runtimes
Improved the performance of SinglePointTracking_Raster and removed issue where raster pattern frequency was several factors too high
Added source code for MultiPointTracking as previously seen only in the MirrorcleDemo application
Added GUI window displays for DataMode7Raster and SinglePointTracking_Raster for better visualization of tracking
Matlab SDK
The Matlab SDK will not see a removal of MTIDevice.GetAPIVersion as it is not disposed to the same issues as in C++/Python
Python SDK
Added support for functions required for RGB Playzer such as MTIDevice.SetRGBData and new function MTIDevice.SetRGBData_array (required for forwarding NumPy arrays to C++)
Inherited all API changes from C++ SDK, including the removal of MTIDevice.GetAPIVersion
Python SDK 10.7.2.0b will see inclusion of multiple TrackingExamples.py changes as listed above for the C++ SDK, at a later date
10.7.1.0#
Release Date 2020-06-19
C++ SDK
Fixed memory leaks within MTIDataGenerator and increased memory performance
Removed MTIDataGenerator::GetAPIVersion method which was redundant to MTIDevice::GetAPIVersion
Python SDK
Updated MTIDevice-Demo.py to use the new MTIDevice.GetAPIVersion command and match MTIDevice-Demo.cpp
Inherited all API changes from C++ SDK (see above)
10.7.0.0#
Highlight: SyMPL 3D Lidar support and broad memory performance improvements
Release Date 2020-06-15
C++ SDK
Added MTIDevice::GetAPIVersion method which returns std::string with API version number in format “X.X.X.X”
Added MTIDataGenerator::GetAPIVersion method which returns std::string with API version number in format “X.X.X.X”
Added MTIDataMode::Sample_And_SyMPL1_Stream for SyMPL 3D LiDAR and support the MTILidar API
Added compatibility with both analog-input and digital-input SyMPL 3D LiDAR devices within MTIDataMode::Sample_And_SyMPL1_Stream
Added overloads to all params calls that return pointers in favor of providing a params object to the function to be modified in-place
Improved Linux compatibility
Revised all examples to implement preferred method of params calls
Fixed multiple memory leaks throughout the API and increased memory performance
Matlab SDK
Added MTIDevice.GetAPIVersion method which returns a string with API version number in format “X.X.X.X”
Added a call to MTIDevice.GetAPIVersion in MTIDevice_Demo.m to demonstrate use of the new function
LabView SDK
The LabView SDK did not receive the 10.7.0.0 update
Python SDK
Inherited all API changes from C++ SDK (see above)
10.6.0.0#
Highlight: API improvements/enhancements for tracking/imaging, Playzer, and applications using analog input streaming
Release Date 2019-12-17
MirrorcleDraw
“Enable Digital Output / Laser” disabled by default
C++ SDK
Added private function CheckConnectDevice() that improves GetAvailableDevices and ConnectDevice calls when a Controller is stuck in a streaming MTIDataMode
Added MTIDevice::LaserBoostEnable for Playzer Modules to boost laser power (not compatible with MZDK Controllers)
Removed Get/SetRGBDriverParameters from MTIDevice
MTIDataGenerator::AllocInterpData called within MTIDataGenerator::InterpolateDataTrapezoidal and MTIDataGenerator::InterpolateDataLinear to allow individual function calls
TrackingExamples.cpp now supports larger mirrors with lower resonant frequencies
Matlab SDK
Added private function CheckConnectDevice() that improves GetAvailableDevices and ConnectDevice calls when a Controller is stuck in a streaming MTIDataMode
MirrorcleTrack.m now supports larger mirrors with lower resonant frequencies
Python SDK
Inherited all API changes from C++ SDK (see above)
Added support for MTIDataGenerator::FilterData
Added support for MTIDataGenerator::IldaDataStream
TrackingExamples.py supports larger mirrors with lower resonant frequencies
10.5.0.0#
Highlight: Greatly improved performance options for applications with strict speed requirements
Release Date 2019-07-12
MirrorcleDraw
Added Spiral Time definition box to Vector Graphics > Scan Patterns > Spiral mode. This fixes the lost functionality of this mode.
Fixed stacking of filters when disconnecting/reconnecting devices
Fixed “Animation Time” slider behavior when auto-adjusting based on the Sample Rate
C++ SDK
Added confirmOnComplete flag to MTIDevice::StartDataStream command to free the thread in specific applications
Updated and reorganized documentation for TrackingExamples.cpp (laser tracking bundle)
Fixed memory leak in MTIDataGenerator::InterpolateDataOptimized
Fixed memory leak in MTIDataGenerator::OptimizeKeypoints
Matlab SDK
Added confirmOnComplete flag to MTIDevice.StartDataStream command to free the thread in specific applications
MirrorcleShow
Fixed memory leak in MirrorcleShow for long sessions
10.4.0.2#
Highlight: Improved optimization and decimation for vector display applications
Release date: 2019-03-08
MirrorcleDraw
Added RGBGradientJet and RGBGradientCustom to MirrorcleDraw - enabled via the mirrorcledraw.ini
Improved Sketching, Import File, Hershey/TTF Text, and Clock display modes with the new OptimizeKeypoints function for higher performance
MirrorcleShow
Fixed issue where single frame content would be skipped
Fixed memory leak
C++ SDK
Added new parameter
unsigned int targetNumKeyPoints
to MTIDataGenerator::OptimizeKeypoints()Added lossy compression algorithm to OptimizeKeypoints which reduces the number of keypoints to the targetNumKeyPoints
Fixed memory leak in MTIDataGenerator::LoadIldaFile()
Fixed the error in returned samples from InterpolateDataOptimized being much more than requested
Linux SDK
Updated RGBExamples.cpp for Linux compatibility
Python SDK
Added MTIDataFormat to mtidevice module
Added complete Linux support
Fixed tabs to spaces according to PEP-0008
Fixed folder structure for better Linux system support
10.4.0.1#
Release Date: 2018-12-21
MirrorcleDraw
Added: Autodetect RGB Scan Modules and enable appropriate DataFormat for output to RGB Controllers
Added: Gradient color feature: set two different color values in mirrorcledraw.ini for gradient color output to RGB Controllers
Fixed: Import ILDA File - detecting RGB vs Monochrome improved.
C++ SDK
Added: SetRGBDriverParameters to manipulate the gain and offset of the R/G/B laser diodes
Added: SetRGBGamma to manipulate the gamma of the R/G/B laser diodes
Added: InterpolateDataOptimized for MTIDataGenerator::GenerateClockData
Fixed: Removed unnecessary x64 folder in the SDK-Cpp folder
10.4.0.0#
Highlight: Vector display optimization and RGB Playzer compatibility
Release Date: 2018-12-06
MirrorcleDraw
Added: New interpolation algorithm for optimizing challenging, high-bandwidth content for Mirrorcle MEMS Mirrors
Added: “Enable Digital Output” checkbox to manage digital output from the Controller
Added: “Disconnect device” option in the list devices drop down list.
Added: Optimized font lettering for the characters “o”, “O”, and “0”
Added: RGB compatibility for Controllers with RGB Firmware + RGB Scan Module
Added: “Flash” checkbox now reflects the state of the Controller’s BootSetting
Fixed: Allow for offsetting sketches drawn in Sketching mode
Fixed: Memory overflow bug when importing abnormally large ILDA files
Fixed: Import ILDA dialogue displaying incorrect total number of points
Fixed: Animation time slider starting in wrong position and not allowing full range of animation times
Fixed: Sample rate changing when IIR Filter enabled
Fixed: GUI misalignment
MirrorcleListDevices
Added: Allow for information about devices at COM port numbers greater than COM65
Added: List the specified device’s DataFormat
C++ SDK
Added: MTIDataGenerator::InterpolateDataOptimized() algorithm to optimize and interpolate user’s keypoints for Mirrorcle MEMS
Added: RGBExamples.cpp to the SDK containing examples of how to interact with a Controller with RGB firmware
Added: MTIDevice::GoToDevicePosition() now allows for step time of 0ms for fastest step (note: this parameter is potentially dangerous)
Added: DataFormat to MTIDeviceParams. DataFormat allows specification of the format of data that will be sent by SendDataStream to the Controller
Added: MTIDevice::SetRGBData and MTIDevice::GetRGBData for Controllers with RGB firmware
Added: More detailed and descriptive documentation for API functions in MTIDevice.h
Added: More detailed function descriptions in MTIDevice-Demo
Fixed: Misleading comment for MTIDevice::GetIStop()
Matlab SDK
Added: RGB functionality for Controllers with RGB firmware + RGB Scan Module
Added: MTIDevice_ListDevices.m demo to demonstrate MTIDevice.GetAvailableDevice and MTIDevice.ListAvailableDevices
Added: RGB examples in MTIDevice_Demo to demonstrate the use of new RGB Controller API commands
Added: MTIDevice.GoToDevicePosition() now allows for step time of 0ms for fastest step (note: this parameter is potentially dangerous)
Added: Additional example in MTIDevice_GoToPosition.m to demonstrate updated GoToDevicePosition
Fixed: SendDataStream crash when delaySamples = numSamples
Python SDK
Added: Definition/summary to every demo in MTIDevice-Demo
Added: All functions and changes implemented in the C++ SDK
Fixed: ArrowKeysDemo in MTIDevice-Demo
LabView SDK
Added: MTIConnectDeviceAuto() to connect to the first available Controller at a COM port
Added: MTIConnectDeviceSocket() to connect to a specific MTISerialIO socket
Added: More extensive function comments in MTILabViewAPI.h
Added: DataFormat functionality to specify the format of data sent to the Controller via SendDataStream
Added: MTISetRGBData, MTISetRGBDataMonochrome, and MTIGetRGBData for Controllers with RGB firmware
Fixed: MTIGetMStop returning GetIStop()
Fixed: MTIGetMStop returning unsigned int instead of unsigned char
10.3.4.0#
Highlight: Announcing the Python SDK
Release Date: 2018-10-29
Python SDK
Announced new API language - Python
Mirrorcle Software Suite
Added: Built-in software suite updating functionality. In MirrorcleDraw > Help > Check for Updates
MirrorcleDraw
Added: Check for Updates option in Help menu
Added: DOutScale editbox for real-time digital output manipulation when AdvancedMenu is enabled
Added: Customizable content drawing in mirrorcledraw.ini: draw keylines, keypoints, samplelines, and/or samplepoints
Updated: Colors and sizes of content drawing
C++ SDK
Added: MTIDevice::ConnectDevice() overload where 0 arguments autoconnects to first available COM port
Updated: Cleaned up and revised TrackingExamples.cpp
Updated and Fixed: MTIDevice.h comments/documentation
Fixed: MTIDevice-Demo Follow WASD keys - support upper/lower case WASD
Matlab SDK
Added: MTIDevice.ConnectDevice() autoconnect when 0 arguments are passed
Added: MTIDevice.ImportPointFile(filename) to import x/y/m points and/or sample rate from file to Matlab environment
Updated: All included demos’ code and comments
Fixed: MTIDevice.IsDeviceResponding() to return accurate responses
Fixed: Bug in setting the DataRotation param
Android Development Kit
Added: DOutScale edit field in MirrorcleDraw app settings menu
Updated: Java API to match C++ API 10.3.4.0
Fixed: Bug where app crashes if Settings opened with no device connected
LabView SDK
Updated: To to match C++ API 10.3.4.0
10.3.3.2#
Post release fixes
Release Date: 2018-10-01
MirrorcleDraw
“No devices found”: Fixed text formatting and Ok/Cancel dialog box
C++ SDK
Fixed: MTIDevice::IsDeviceConnected() returning reliable true/false state
Fixed: Handling MTIDevice object upon DisconnectDevice()
10.3.3.1#
Release Date: 2018-10-29
C++ SDK
Fixed: MTIDevice::ConnectDevice() force default SyncMode
10.3.3.0#
Release Date: 2018-09-25
MirrorcleDraw
Added: MessageBox to notify save flash checkbox callback
Added: “Search for available devices” if none are initially found
Updated: Links in MirrorcleDraw
C++ SDK
Updated: Comments in MTIDevice-Demo
Fixed: Redundant and misleading code in MTIDevice-Demo
MirrorcleLinearRaster
Fixed: Bug causing MirrorcleLinearRaster to close immediately
10.3.2.1#
Release Date: 2018-08-06
MirrorcleDraw
Fixed: Misleading refresh rate on ILDA Sample/User Sample import
Fixed: Missing support for ILDA type 1 files
Fixed: Missing support for ILDAs with Color Tables
10.3.2.0#
Release Date: 2018-08-02
MirrorcleDraw
Added: Drawing hardware filter on “Show Filtered” checkbox in MirrorcleView
Added: Message box on ILDA Keypoint import with maximum points and total points in loaded file
Added: Lower-end engine support for RGB ILDA files and RGB samples
Added: Parsing for ILDA Type 5 files
C++ SDK
Added: More detail to AnalogInputToOutputDemo in C++ SDK
Fixed: Grammatical errors in SDK examples
Fixed: Printing in ScanningDemo in C++ SDK
C++ SDK (Linux Add-on)
Added: Write polling and timeout for Linux for Bluetooth
10.3.1.0#
Highlight: Improved x64 Support
Release Date: 2018-06-25
C++ SDK
Added: x64 MirrorcleDraw build configuration
Changed: Updated the documentation for building to x64 platforms (see slides 9 and 10 in SDK for C++ User Guide)
Fixed: SDK-Cpp Reorganized DLLs into secluded x86/x64 folders
Fixed: SDK-Cpp x64 build configurations
10.3.0.1#
Release Date: 2018-06-15
MirrorcleDraw
Added: Sample rate backend control
Fixed: Sample point memory pre-allocation is now a fixed size, and sufficiently large
10.3.0.0#
Highlight: Unicode support for vector graphics display content
Release Date: 2018-05-31
MirrorcleDraw
Added: Solution-wide support for unicode characters
Added: Drawing characters from unicode-supported language via TrueType Font
Fixed: Fixed uncontrolled incoming VBias and VDifferenceMax such that VDifferenceMax should never exceed VBias*2
C++ SDK (Linux Add-on)
Fixed: Baud rate problem for Linux platforms