Release Notes

Mirrorcle Software Suite

Latest Version: 10.5.0.0

Last Updated on 07/12/2019

10.5.0.0

Improved performance for applications with strict speed requirements

  • 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

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

Post-release patch

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

Vector Display Optimization and RGB Scan Module 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

Announcing 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

Pre-release fixes

Release Date: 2018-10-29

  • C++ SDK

  • Fixed: MTIDevice::ConnectDevice() force default SyncMode

10.3.3.0

Revised and Updated C++ SDK

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 hotfix

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

Drawing Hardware Filter

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

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

Post-release patch

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

Unicode Support

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