Raylase_Logo_Neuer-Claim

SP-ICE-3 Software - Change log

Version Released Type # Description
3.12.3 12/10/2026 BUG 18482 Error in "SystemAPI --> SetSystemTime" results in card's date off by 1 month on the next reboot after hard shutdown.
Change Request 18483 Endless MOTF: Reduce time until laser power is being controlled from 500ms to 100ms after starting list.
3.12.2 25/08/2026 BUG 18387 Fix FirmwareBatchUpdater not recognizing card's firmware version after renaming to "SP-ICE 3" product designation.
Change Request 18390 Endless MOTF: Support branch commands in source list.
Change Request 18389 Command "LaserOn" indiscriminately forces laser on until command "LaserOff" - thus, overrides laser-off behavior of jumps.

Before, executing any "Jump" command after "LaserOn" did turn off the laser given that a jump represents a scanner motion while laser is off. Now, the laser remains on when a jump is encountered.
However, bitmap and "point & shoot" commands still lead to a premature termination of the "LaserOn" state. Please refer to the documentation for further details.

3.12.1 29/05/2026 BUG 18163 Fix incomplete power ramp in case of multiple consecutive mark vectors with short execution times (< 10us).
BUG 18162 Support trace buffer events "LaserPower0_x" and "LaserPower1_x" in native trace buffer client library.
BUG 18154 Fix power ramp not being completed in combination with "AppendPosition".

For command lists consisting of an "Append Power Ramp" command then followed by a sequence of "Append Position" commands, the power ramp would be executed simultaneously to the first "Append Position" array, but not for the second and any subsequent position arrays.

Change Request 18165 SPICE3Config: Show "Interpolation Time" and status for "Axes Operational" and "Galvo Temperature" for each axis.
Change Request 18156 Support dash pattern generation for command "AppendPositions".
3.12.0 21/04/2026 BUG 18059 Endless MOTF: When belt moves backwards stop marking and do not resume until belt reaches turn-around position.

If the belt stops and starts to move backwards, then marking is interrupted as expected.
However, previously, marking continued as soon as the belt started to move forward again, which is too early. Now, marking does not continue until the belt has reached the turn-around position.

Change Request 18055 Endless MOTF: Increase bandwidth of power control loop.
Change Request 18053 Endless MOTF: Support lists without any loops (eliminate assumption that list must have at least one loop) and nested loops.
Change Request 18052 Endless MOTF: Properly apply Jump Delay, Poly Delay and Mark Delay.

As the endless app now supports jumps as well, the delays "Jump Delay", "Poly Delay" and "Mark Delay" need to be applied accordingly.

Change Request 18049 Improve MOTF speed filter to be more robust for very slow belt speeds.
New Feature 18056 Endless MOTF: Add new ProcessAPI method "GetTimeScale".
New Feature 18050 Endless MOTF: Support queuing execution of mulitple consecutive command lists (similarly to "regular" lists).

Now, clients can enqueue multiple endless lists, even while an endless list is already in ongoing. This feature enables the seamless execution of multiple consecutive (endless) lists.

New Feature 18047 Introduce "Wait Part" and "Wait Distance" commands, which do wait but will not enable tracking.

The new commands "WaitPartWithoutTracking" and "WaitDistanceWithoutTracking" pause execution, then wait for the part sensor event and distance traveled, respectively, but without enabling tracking.
This feature is suited for synchronization purposes, but not standard MOTF as the material will not be followed.

3.11.1 02/04/2026 BUG 17994 ADC Adapter is not recognized after reboot, and ADC adapter fails to deliver meaningful data.
New Feature 17996 Introduce pre-defined on-card variable "ErrorCode" to enable more granular error handling.

The new on-card variable "ErrorCode" is set when list execution fails.
The value depends on the error. Errors, such as Abort, Laser Alarm, Out-of-Field and Scanner Alarm can be distinguished.
The variable can be accessed from a "Command List" by all commands interacting with integer variables. For example, "CommandList.AppendSwitch".

3.10.3 16/03/2026 BUG 17919 Fix error "Correction does not contain a table 1" when loading a "de-focus"-type FC3 (magnification without optical zoom).
BUG 17913 Fix intermittent "Cannot add power ramp with a duration of dt=-10" error.
BUG 17905 Eliminate extra poly delay inserted in mark-mark sequence when poly delay exceeds "max dwell time".
BUG 17903 Subsequent calls to "LaserOn" or "LaserOff" may result in Timeout Exception ("ListDone event not received...").
Change Request 17912 Honor minimum time between progress events also when list executor encounters conditional branch command(s).
Change Request 17911 Improve error reporting in case "CommandList.Switch" / "CommandList.Case" block contains illegal commands.
Change Request 17906 Compile native trace buffer lib with multi-threading runtime libraries.
New Feature 17910 Provide a command line interface for the "SPICE3PowerCalibrator" tool.
3.10.2 17/12/2025 BUG 17684 "AbortExecution" does not terminate list execution while waiting for a signal (command "WaitForSignal").
BUG 17683 Eliminate duplicate logging on card, which may adversely affect card performance.
BUG 17682 Improve marking of endless-MOTF when belt moves at slow speeds.
BUG 17681 Fix web interface not showing the actual settings "Concurrent connections" and "Enable UPnP".

Although, the changes made to these settings were saved and applied, the web interface failed to show the current settings. Instead, the default values were shown.

With this fix, the web interface shows the actual settings again.

3.10.1 26/11/2025 BUG 17604 SPICE3VirtualPointer: IO tab remains always disabled.
Change Request 17607 Debounce inputs "Laser Alarm" and "Abort Mark" with a time constant of 16ms.

The assertion of "Laser Alarm" or "Abort Mark" is immediately registered without any delay, but any changes within the next 16ms are ignored.

3.10.0 07/11/2025 BUG 17542 Fix potential "cannot add a delay of xx to engine Gate" exception when marking a dashed line.
BUG 17540 Various SPICE3 tools do not contain the correct (current) product version.

The following tools now contain the current file and product version (all other tool not listed already show the correct version):
ScannerConfig, SPICE3FirmwareBatchUpdater, SPICE3IPCalc, SPICE3IPCalcGUI, SPICE3PowerCalibrator.

BUG 17539 ScannerConfig: Fix message shown when an unexpected answer is received by scanner.
BUG 17537 Endless MOTF: Computed power scale to compensate for varying belt speeds may be slightly off.

Power scale was off only for jobs containing mark sequences with non-zero poly delays. If all poly delays were 0, then power scale was correctly computed.
The marking of the geometry was not affected in any way.

BUG 17535 Fix incorrect time shift in lag compensation occurring due to race condition.
BUG 17533 "ResetToDefaults" sets all output bits to 0 ("de-asserted") as well.

Previously, when calling "ResetToDefaults" the GPIO outputs remained unchanged.
This change is relevant only to outputs configured with function 0.

BUG 17532 Laser turns on when "AppendLaserOn" is invoked with argument "pulses" set to 0.
Change Request 17541 SPICE3VirtualPointer: Provide user feedback when attempt to connect fails.
Change Request 17538 Endless MOTF: Reduce minimum amount of time necessary between stopping one endless job and starting another.
Change Request 17534 Add new properties "CurrentListId" and "QueuedListId" to class "ListExecutionException".

At the time of a list execution failure, the two new properties indicate which list currently runs and its originating caller (bottom of calling stack).
The two list IDs differ if list execution fails in a sublist, sub-sublist or sub-sub-sublist, ...

Change Request 17531 Native "Discovery" method should return scope ID along with IPv6 address in list of available cards.
3.9.1 16/09/2025 BUG 17364 SPICE3Config: Entries made to wobble (amplitude, frequency, phase) and "HeadingScale" in "Process" tab do not update card.
BUG 17363 SPICE3Config: Show columns of all axes (up to 6) without overlap in "Enhanced" tab --> "Scan Head Axis Information".
BUG 17362 ScannerConfig tool: Fix potential tool's crash when a valid "Abort" reply is received.
3.9.0 04/09/2025 BUG 17311 Trace buffer client methods "TryRead" and "Read" drop trace events under certain conditions.

If the client calls the "TryRead" or "Read" method with a buffer whose length is smaller than the number of already received trace events, then the buffer will be completely filled but the remaining trace events will not be returned upon the next call, but be dropped.

BUG 17309 Branch to previous command in list is mistakenly rejected.

In order to prevent infinite loops the firmware disallows branches to itself, i.e. "Branch Rel 0".
Previously, the check mistakenly rejected the branch to the previous command, i.e. "Branch Rel -1".
Now, it really is the branch to itself which produces an exception.

BUG 17308 Fix list's event filter mechanism in cases when a list's event settings change while list is still in process.

If the filter's settings change while a list is still being processed, then the client may receive events that should have been suppressed and vice versa.

BUG 17307 Exchange ProcessVariables' properties "HeadingScale" and "MergedExtensionsMaxCoH" between card and client.

Version 3.8.0 introduced two new "ProcessVariables" properties: HeadingScale and SkyWriting.MergedExtensionsMaxCoH.
These two properties could be manipulated only by list commands, but otherwise could neither be set with "SetProcessVariables" nor queried with "GetProcessVariables".

BUG 17301 FirmwareBatchUpdater UI: SPICE3 cards can not always reliably be selected, and thus will not be updated.

The tool lists all discovered cards in a table. The user can check a box to determine whether or not the corresponding card's firmware should be updated.
However, any check boxes that were scrolled out of view did no longer behave as expected. Instead, the associated card was not included in the list of to-be-updated cards - regardless of what the checkbox indicated.

BUG 17300 Laser does not remain on when "LaserOn" command is executed at end of list.
Change Request 17333 Add method "SetMetadata" to "CorrectionFile".
Change Request 17332 Change signature of managed method "TraceBufferClient.ToSignedPosition".

Previously, the method expected a "List" of "TraceEvents", which requires a conversion if the caller stores its events as a different type, for example in an array.
The generic type "IEnumerable" offers more convenience.

Change Request 17314 SPICE3PowerCalibrator: Upon terminating store the user's last used filename into special file.

This change facilitates automation.

Change Request 17312 Optimize call to trace buffer's "TryRead" and "Read" methods.

The "(Try-)Read" methods now completely fill the caller's buffer with all available trace events.
Previously, the methods might return with less trace events even if more data was already available.
Consequently, more invocations were required.

Change Request 17305 Optimize card's efficiency between firmware and engines, for example when processing short vectors while power ramping.
Change Request 17299 Replace on-card network driver.
3.8.0 26/06/2025 BUG 17133 Fix setting and storing of head correction files if invoked within Configuration.BeginUpdate / EndUpdate block.
BUG 17132 Fix power ramping for LaserOn with pulses.
BUG 17131 Endless MOTF: Fix FIFO underflow exception if belt runs slower than maximum speed (100% speed).
BUG 17130 Insert sky-writing extensions for Mark-Magnification-Mark sequence (if sky-writing is enabled).

After the change the sequence Mark-Magnification-Mark is translated to Mark-Deceleration-Magnification-Acceleration-Mark.
Previously, the deceleration/acceleration vectors were missing.

BUG 17128 Fix sky-writing acceleration delay in case "Variable Jump Delay" is enabled.

Only if "Variable Jump Delay" is enabled, then an extra "Min Jump Delay" was applied.

Change Request 17139 Insert either both (deceleration & acceleration) or no extension vectors for a M-J-M sequence in SkyWriting mode "Minimum CoH".

The decision to insert an extension vector still relies on whether the CoH exceeds "MinCoH".
Situations where a deceleration but no acceleration vector, or vice versa, might be inserted are no longer supported.
Now, both extensions will be inserted if at least one extension is required, or none in case both heading changes are below "MinCoH".

Change Request 17138 Improve endless MOTF on-card application.

The following changes are now available:
* Command "ERROR?" returns complete exceptions including inner exceptions
* Trajectories are no longer limited to one single (closed) path, but multiple paths are now supported (previously, an error has been reported)
* Improved support of nested loops
* Improved support of "Wait xxx" commands
* Speed limit monitoring is suppressed until belt speed crosses above minimum speed limit (to facilitate process ramp-up)
* In case execution terminates, i.e. due to error or completion, app is immediately ready for next execution (previously, an explicit abort needed to be sent).

Change Request 17136 Skip magnification jumps already at target.

A magnification command whose target is identical to the current magnification does no longer incur a jump delay.
This behavior matches "regular" 2D / 3D jumps.

Change Request 17127 SPICE3LogPlayer: Allow drag-n-drop to open a log file.
Change Request 17125 Native API: Add const-ness to argument "rlTransform3D" of method "rlListAppendTransformation".

The signature changes as follows:
Before: RL_C_API rlResult rlListAppendTransformation(rlCommandListHandle handle, rlTransform3D* transformation);
After: RL_C_API rlResult rlListAppendTransformation(rlCommandListHandle handle, const rlTransform3D* transformation);.

New Feature 17141 Introduce "heading scale" to influence change-of-heading related decisions for sky-writing and variable-poly-delay.

A new parameter "Heading Scale" is introduced, which represents a matrix with scale factors on its diagonal.
Now, every heading vector is transformed by "Heading Scale" before being used for decision making.
For example, a heading scale of (1 / 1/ 0) results in the headings' Z component being ignored so that only the headings' XY components influence sky-writing or variable poly delay.
A heading scale of (1 / 1 / 1) represents identity and behaves in the same way prior to its introduction.
Please refer to the manual for more details.

New Feature 17140 Optionally merge extension vectors for performance optimization in SkyWriting mode "Force at Start-End".

Marking two co-linear marks with a gap smaller than twice extension length results in the extension vectors overlapping each other (co-linear M-J-M sequence).
The overlapping deceleration and acceleration vectors cause the scanner to turn around twice. The extra loop can be eliminated by "merging" both extensions.
The tolerance of "co-linearity" can be configured by the newly introduced parameter "MergedExtensionsMaxCoH".
Please refer to the manual for more details.

New Feature 17137 Record quadrature encoder signals (A/B/I) with trace buffer.
3.7.1 13/03/2025 BUG 16859 Trace event "PortLaserOutx" records port's "physical" instead of "logical" state.

By recording the "logical" rather than "physical" (at pin-level) state, the traces for "PortLaserOutx" are now consistent with all other port-related traces, which recorded the "logical" state all along.

BUG 16858 SPICE3VirtualPointer misses DLLs when upgrading from 3.6.0 - not affected for upgrades from earlier versions (3.5.x or older).
BUG 16856 Setting power from list with PowerTargetChannel "AllChannels" incorrectly throws "PowerTargetChannel AllChannels is unknown".
Change Request 16861 SPICE3 Power Calibrator: Improve algorithm computing laser calibration table.

The modified algorithm greatly improves the inverse computation of the user data points "requested power" vs "measured power". Particularly, non-monotonic curves, which are non-revertible, are better dealt with.

Change Request 16860 SPICE3VirtualPointer: Connect to trace buffer only during capture to avoid contention with other applications (PDA or others).
Change Request 16854 Expand size of time register to avoid "Cannot add a delay of xxx to engine" error.
3.7.0 12/02/2025 BUG 16725 SPICE3Config: "Upload to card" option omits to upload "SPI", "System" and "Quadrature Decoder" configurations.

Now, with the "Upload to card" option checked, these three configurations are uploaded to the card, too, providing the corresponding configuration is selected.
See also ticket #0016724.

BUG 16723 SPICE3VirtualPointer: Resolve conflicting DLL dependencies.

Previously, the tool launched and operated as expected unless the user clicked on the "IO Expander". Now, the "IO Expander" is available, too.

BUG 16721 Scan Head Monitoring: Properly apply "Good Value" to scanners with 18-bit frames (for example, SS-IIe).
BUG 16714 List commands "MarkTime" and "MarkCounter" produce a mark result in reverse order.

For example, "MarkCounter" with a "counter" value of 123 erroneously resulted in the output 321.

BUG 16713 A mark immediately following a bitmap command (Jump&Shoot, Point&Shoot, Sprint) does not turn on laser.
BUG 16712 Process transformation is not applied to Jump-and-Shoot bitmap command.
BUG 16711 Beziers with start position (nearly) identical to end position are not marked as expected.

- either no points are output (although, for example, a loop should be produced)
- too many points on the same position are output (equating to an incorrect mark speed potentially leading to a burn-in).

BUG 16710 Fix heading of Z component for elliptic shapes.

Only elliptic shapes with sky-writing enabled in 3D space (across different Z coordinates) were affected.
All other cases, i.e. no sky-writing or "flat" ellipses (in 2D space), behaved as expected.

BUG 16709 Fix computation of variable poly delay: Lines are not affected, but shapes such as arcs, ellipses, Beziers are.
Change Request 16755 SPICE3Config: Show the scanner's FPGA version in the "Enhanced" tab.
Change Request 16724 SPICE3Config: From dialog "Load Configuration" upload only selected configurations when "Upload to card" is checked.

Previously, if the "Upload to card" option is checked, then all configurations were sent to the card.
Now, providing this option is checked, not all but only the selected configurations will be uploaded.

Change Request 16720 Scan Head Monitoring: Use adaptive timeout instead of fixed timeout of 500ms in case card receives no answers from scanner.

The timeout condition is met if the card fails to receive any answers from the scanner, for example due to a broken RX wire or scanner power loss.
Previously, the timeout timer expired after 500ms.
Now, the timeout timer expires after "Period" times "MinConsecutiveErrors" (per "ScanHeadMonitoring" configuration).
This way, regardless of receiving bad answers or no answers at all, the scanner alarm is raised after "period" times "minimum consecutive errors".

Change Request 16705 Rework and optimize performance of inverse field correction.

The computation time of the inverse field correction is significantly reduced.

New Feature 16754 Enhance "Scanner Monitoring": Detect scanner / communication failures with two sets of command, mask and "good value".

The scanner monitor employing a single set of command, mask and "good value" can detect faults with scanners and/or scanner communication (i.e. broken wires) in all but one situation:
If the forward channel (TX) is interrupted, then scanners with an older (scanner) firmware continue to send "good" answers. In this case, the scanner monitor is unable to detect any abnormalities and, consequently, does not raise an alarm.
The "ping-pong" method offers a remedy: By alternating between the two sets, the monitoring logic can indirectly detect problems with the forward channel as the scanner fails to receive the request to switch the data source. The answers sent by the scanner continue to reflect the wrong (the other) command, which ultimately results in an alarm.

New Feature 16717 SPICE3VirtualPointer: Provide command line interface.

The following command line options are now available:
--ip <address>, --connect, --capture, --onlylaser.

New Feature 16715 Add new shape "GeneralEllipse": Provide new new list command "AppendGeneralEllipse".

The following methods now exist:
Managed: void AppendGeneralEllipse( Point3D u, Point3D v, Point3D w, double sweepTurns )
Native: rlResult rlListAppendGeneralEllipse( rlCommandListHandle handle, double ux, double uy, double uz, double vx, double vy, double vz, double wx, double wy, double wz, double sweepTurns );

The new shape "GeneralEllipse" supersedes shapes "(helix) arc", "(helix) ellipse" and "elliptic curve", and offers unlimited flexibility when creating circular or elliptic paths of any dimension and orientation in 3D space, especially when combined with the process transformation.

3.6.0 11/11/2024 Change Request 16472 Include head/axis information for errors that occur when ScanHeadMonitoring is enabled.
New Feature 16469 Introduce suspend list command to stall pre-computation until execution is within "evaluation-lead-time".
New Feature 16468 Introduce signals to allow list synchronization.

- New API to "Create", "Delete", "Set" and "Reset" signals
- New list command AppendWaitForSignal to wait until signal is set
- New list commands AppendSetSignal, AppendResetSignal.

3.5.2 09/10/2024 BUG 16375 The web interface's network settings cannot be loaded (Internal Server Error).
3.5.1 01/10/2024 BUG 16357 "Jump-and-Shoot" command does not take process transformation into account.
BUG 16354 In rare situations, parsing a list's command fails with an "InvalidCastException".
BUG 16346 The card intermittently fails to boot.
Change Request 16356 SPICE3Config: Remember all recently used cards.

SPICE3Config not only remembers the most recently used card (singular), but all cards the user has connected to.

Change Request 16348 Improve "Scanner Monitoring": Allow for greater polling rates and shorter reaction times.

"Scanner Monitoring" is now performed by on-card hardware modules (previously, by on-card software).
Previously, it has been advised to have polling intervals of at least several 100ms. Now, the polling interval can be as short as 10us (one step period) without adverse effects.
In the event of an alarm, list execution is aborted within several tens of microseconds (i.e. reaction time is greatly reduced).

3.5.0 27/08/2024 New Feature 16343 Introduce new MOTF mode "continuous".

This new mode is intended to work in conjunction with the "endless" app, a separate application running on the card. To activate this app please visit the Web Interface --> Apps --> EndlessMotf

The new mode significantly improves the trajectory's positional fidelity, particularly during the material's acceleration phase.

3.4.1 09/08/2024 BUG 16211 The card's error logs cannot be downloaded from the web interface (internal server error).
BUG 16210 With sky-writing enabled marks separated by two jumps (M-J-J-M sequence) result in first jump's target position being off.

The marks themselves were not affected, but only the first jump (following the first mark). Consequently, it resulted in an incorrect transition between the two marks.

3.4.0 26/06/2024 BUG 16063 Under certain conditions, a power ramp down-ramp up sequence may not completely ramp down.
BUG 16062 In rare situations, the timing of gate will shift relative to scanner's movement.
Change Request 16079 Speed up query of time zones: first call may take up to 10 seconds.

The time zones are no longer ordered by UTC then region, but alphabetically sorted.

Change Request 16065 Remove obsoleted method "ScannerConfig.GetAxisParameterSet".

Managed: Replace with "ScannerConfig.Heads[head].Axes[axisIndex]"
Native: Replace with "rlScannerConfig::Heads[head]::Axes[axisIndex]".

Change Request 16064 Remove obsoleted method "CorrectionFile.Open".

Managed: Replace "CorrectionFile.Open" with "CorrectionFile.OpenRead" and "CorrectionFile.OpenWrite", respectively.
Native: Replace "rlCFOpen" with "rlCFOpenRead" and "rlCFOpenWrite", respectively.

Change Request 16059 Disallow reconfiguration of SPI module if in use by ADC adapter(s).

For as long as an ADC adapter is present and enabled, the configuration of its corresponding SPI module is under the firmware's exclusive control. Attempts to overwrite the configuration (via SpiAPi.SetConfig) will be ignored.

New Feature 16061 Provide new method "SetHeadBias".

The new method only updates the bias. All other properties, especially those related to the scanner, remain unchanged.

3.3.2 08/05/2024 BUG 15949 Occasional incorrect reporting of ListDone IDs with multiple consecutive short lists.
New Feature 15948 New "Apps"-tab for SP-ICE-3 WebInterface.

Individual card-apps can be enabled or disabled via the new "Apps" tab.

New Feature 15945 "Endless MOFT" card-app.

This card-app translates a statically defined path into an endless contour for MOTF, and then continuously matches the marking speed of the contour to the measured speed of the target.

3.3.1 10/04/2024 Change Request 15844 Add "XY2 Dual Adapter" (Article Number 14008) to list of known adapter boards.
3.3.0 07/03/2024 BUG 15746 In rare situations, list execution fails to complete, potentially leaving laser turned on. No "ListDone" event will be reported.
BUG 15744 SerialAPI "VerifyResponseLine" throws unexpected exception if the device's response does match the "goodResponse".

This affects the managed client library.
The native client library is not affected since it never offered the "VerifyResponseXXX" but always the "TryVerifyResponseXXX" behavior. To avoid confusion, the native methods "rlSerialPortVerifyResponseXXX" are now correctly named "rlSerialPortTryVerifyReponseXXX".

BUG 15743 SPICE3Config "Laser" tab: "Remove" power calibration button invokes "Download" action.
BUG 15724 SPICE3Config "Enhanced" tab: Show info of second scanner even if first scanner is not connected.

Previously, the tab does not show any enhanced information for a second scanner unless a scanner is recognized on head 0 (first scanner).

Change Request 15745 SPICE3Config "Enhanced" tab: Show only status info for scanners not supporting the enhanced protocol ("legacy" scanner).
New Feature 15722 Add new property "PortConfigCollection" in AdapterBoardConfig (supports multiple port configurations).

Managed: For backwards compatibility, the properties "Port" and "Config" still exist, and can be used in cases when only a single port configuration needs to be accessed.
Native: The members "Port" and "Config" are removed. Please reference the configuration via the new member "PortConfigCollection".

New Feature 15721 Introduce new scanhead format "XY2_Dual3D".

The XY2-100 signals for the second scanner are available on port D. The XY2-100 signals for the first scanner remained unchanged and are still available on port E.

New Feature 15720 Support multiple port configurations per adapter board.

Previously, adapter boards stored only a single port configuration, rendering the board operable only on the port matching its configuration (for example, configuration is for port D, then board can operate only on port D).
Now, adapter boards can store multiple configurations. Hence, for example, an adapter board containing configurations for ports D and E, will properly work if connected to either port D or E. Naturally, it still wouldn't properly work on port A, for example.

3.2.1 18/01/2024 BUG 15601 Field-Transform and/or -Correction applied to wrong scanhead, or apparently not applied at all.
BUG 15600 SerialPort (X802): multiple messages sent from a single CommandList are transmitted in reverse order.
BUG 15599 Power calibration has no effect on second power channel.

The second power channel now accepts calibration normally.

3.2.0 21/11/2023 BUG 15416 The Native ClientLib function rlSfioGetSpiConfig(...) returns an error if called when an ADCAdapter is enabled on the card.

The Native ClientLib API now includes a definition of the previously missing SPI FrameSync mode.

Change Request 15425 Enhanced Protocol: Included new "DataSource" definitions such as LoopControlTrackingError, SlewRateLimit, RMSCurrent, etc.
Change Request 15415 Default value of MagnificationSpeed is far too high (10e6/second).

The default value has been reduced to a much more reasonable 0.5/second.

New Feature 15460 AppendPositions & AppendMicroVectors API is now available in the Native ClientLib.
New Feature 15448 Provide new methods "GetTransformation" / "SetTransformation" in Process API.

The new methods allow directly querying and modifying the process transformation without retrieving and setting the entire process variables, respectively.

New Feature 15422 AdapterBoard API is now available in the Native ClientLib.

The API already existed in the managed ClientLib, but was missing in the native ClientLib.

3.1.0 13/10/2023 BUG 15281 In very rare cases the card's firmware failed to launch, clients being then unable to connect.

The source of these failures has been eliminated.

BUG 15246 With Laser Synchronization active marking did not reliably begin at desired start point.

This change also fixes an intermittent "Cannot add delay" exception.
Previously, the phase between LM and "Laser Triggered" pulses could not exceed 32us. Now, a difference of up to 1ms can be measured.

BUG 15228 SPIConfig set by ADCAdapter is overwritten by ResetToDefaults.

This behaviour has been corrected.

Change Request 15284 Extend native client API: allow getting / setting communication timeout.
Change Request 15283 Extend ProcessVariables with property "Power1" to allow setting / retrieving power of second laser source.
Change Request 15229 Support for new parameters inside the CorrectionFile header.

Change in OpticalParameters to add properties UsedAxes, BitPerMicronZ0, BitPerMicronZ1, BitPerMicronE0, BitPerMicronE0
Add new API calls HeadCorrection.Exists(), HeadCorrection.GetHash(), remove API call HeadCorrection.Create()
Remove API support for GCD-Files.

3.0.0 27/07/2023 BUG 15050 On the WebI/F, the network setting "Enable UPnP" could be switched off, but not be switched on again.

This was a regression in v2.3.1.
The setting now works as expected.

Change Request 15045 Remove support for Stepper-Motors.

IMPORTANT NOTICE: API Change!
SP-ICE-3 SW v3.0.0 onwards no longer supports control of Stepper-Motors.
Stepper-Motor support is available with the SP-ICE-3 Software v2 series.

New Feature 15046 Allow independent control of both channels of dual laser source.

In particular, this feature provides support for lasers with ring and core sources.
The power of the core and ring lasers can be individually controlled, including individual power-ramping of both channels.
Power Calibration, and <u>Position</u>-dependent Power Correction, are also available individually for both power channels.
<u>Velocity</u>-dependent Power Correction, however, is applied in common to the power channels.

2.3.5 08/07/2025 Change Request 17184 Replace on-card network driver.
2.3.4 02/08/2023 BUG 15087 An ellipse with center point equal to start point leads to a position error exception on a subsequent mark vector.

This rare case is now handled correctly.

BUG 15059 On the WebI/F, the network setting "Enable UPnP" could be switched off, but not be switched on again.

This was a regression in v2.3.1.
The setting now works as expected.

BUG 15057 A rare race condition could give rise to FIFOUnderflow errors.

The race condition, which could be provoked in particular by short CommandLists, has been eliminated.

2.3.3 17/07/2023 BUG 15025 Native TraceBufferClient did not write correctly into the read buffer if index parameter was not zero.
2.3.2 28/06/2023 BUG 14978 With the Laser Synchronization feature enabled, a few pulses at the beginning of each mark are incorrectly positioned.

The Laser Synchronization feature now correctly positions all pulses within each mark.

2.3.1 20/06/2023 BUG 14962 Native TraceBufferLib.lib missing from published SP-ICE-3 SW.
BUG 14838 Calling SetPowerCalibration() with a single-valued argument causes high CPU load in the firmware.

A file with a single entry is now considered legitimate, and the high CPU load no longer occurs.

New Feature 14824 Allow reset to factory-defaults for Network, Configs, or All settings from the WebI/F.
2.3.0 31/03/2023 BUG 14797 Mismatched enum names "rlSHFlags" and "ScannerConfigFlags" respectively in Native and Managed client libraries.

The enum has been renamed to (rl)ScanHeadFlags.

BUG 14796 SampleApps CallBack and CallBackNative contain incorrect program logic, and do not run as intended.

The samples now run as expected.

BUG 14772 Wobble.Phase throws out of range exception on values > 4.0.

The firmware now automatically normalizes the phase angle to the range (-pi,+pi] for internal use.

BUG 14768 Firmware version not changed after apparently successful update.
New Feature 14808 New ScanHeadFormats which make the Auxiliary axis available.

For details, please refer to the API documentation for ScanHeadFormat.

New Feature 14773 Improve throughput by allowing a subsequent MOTF_WAIT-condition to take effect before a preceding MOTF_STOP-jump is completed.

The firmware can re-start tracking while the jump to the MOTF_STOP position is still being executed, thus preventing delay due to an otherwise necessary "catch-up" movement.

2.2.5 18/01/2023 BUG 14572 Configured laser power not correctly restored after rebooting the card.
2.2.4 13/12/2022 BUG 14512 When SKW is enabled, every JAS2/3D, except the very first, is executed TWICE.

JAS2/3D commands are no longer adversely affected by SkyWriting.

BUG 14431 LASER_ALARM event triggered by floating input on Laser Interface In (X907) despite pin being set active LOW in GpioConfig.
BUG 14429 MarkCounter reported missing in spice3rtb.error.log when Stand-Alone List is executed after reboot.
New Feature 14408 RL Adapter Config: add controls for StartMark/AbortMark Signal Polarity.

The polarity of the START_MARK and ABORT_MARK inputs on the XY2-100 Adapter can be set via the RL Adapter Config tool.

2.2.3 14/09/2022 BUG 14291 When using StopMotf together with SkyWriting then it is possible that StopMotf vector is not executed or executed two times.
BUG 14290 SkyWriting acceleration vector after StopMotf may not be correct.
BUG 14289 Changes to correctionFile upload introduced in v2.2.2 are not backwards compatible.

In version 2.2.2 backward compatibility was broken when uploading/activating correction files. Both ClientLib and Firmware must have been v2.2.2 to work correctly. With v2.2.3 backwards compatibility is reintroduced. ClientLib v2.2.3 and ClientLib prior to v2.2.2 can be used to upload/enable correction files with firmware v2.2.3 and the other way around. v2.2.2 is not compatible with other versions.

2.2.2 23/08/2022 BUG 14242 Correct error message of SPI clock configuration: minimum reported in message does not match minimum permitted by firmware.
BUG 14240 In rare cases, setting the sky-writing laser-on delay via list command may be ignored. Instead, previous laser-on delay is used.
Change Request 14244 Statically link dependent libs 'bundle' and 'msgpack' to Linux version of 'ClientLib' and 'CorrectionFileLib'.
Change Request 14243 When power target is set to "DACx" then "DACx" traces should record laser power (analog voltage) instead of the DACx register.
Change Request 14241 Improve "AppendPositions": first position in array is now output 10us after previous position (by way of interpolation).
New Feature 14239 Support up to 4 corrections for single head configuration (previously up to 2 corrections were supported).

NOTE: To support up to 4 corrections, the single head configuration must not use more than 3 axes.
For a dual head configuration, the number of up to 2 corrections per head remains unchanged.

2.2.1 18/07/2022 BUG 14177 In sky-writing mode „Minimum CoH”, the deceleration vector was processed after, rather than before, “Stop Motf”.
BUG 14163 Unhelpful System.FormatException when attempting to access invalid table in correction file.
2.2.0 10/07/2022 BUG 14155 When a Pen with different LM Frequency is selected, the frequency change occurs too early, and cause bad marking results.

Updates to LM frequencies now take effect at the correct time, eliminating a possible cause of bad marking.

BUG 14153 ClientAPI.DiscoverByPinging( firstSN, lastSN) could potentially spawn zombie tasks when (lastSN - firstSN) > 250.

The number of parallel active pings has been reduced to a safe level.

BUG 14152 Inverse Correction not correctly calculated by CorrectionFile.GetInverse(...) for 2D Correction Tables.
BUG 14145 MOTF Part Tracking incorrect after change of FieldSize.

When FieldSize is updated, the encoder scale will now be recalculated automatically.

New Feature 14166 Truncate an MOTF_STOP-jump as soon as a subsequent MOTF_WAIT-condition is satisfied.

This eliminates a potential cause of bad marking results.

New Feature 14157 New ScannerConfig tool replaces old SS-3-Config, and provides additional functionality.

The new tool provides not only all of the functionality of the obsolete SS-3-Config, but also the ability to read the scanner's memory.

New Feature 14156 New example apps for MOTF Tiling.

The new Spice3SampleApps "Tiling" (C#) and "TilingNative" (C++) show you how to use the MOTF Tiling feature.

New Feature 14151 Add support for processing rotated parts in MOTF mode.

Added new CommandList command: "AppendMotfTileOffset", and new ProcessVariables member: "TileOffset".

New Feature 14150 Add method HeadCorrectionAPI.Delete(...), which allows removal of a specified Correction Table from the card.
2.1.1 20/06/2022 BUG 14158 FPGA event could occur before firmware initialization is complete, causing firmware to crash.
BUG 14106 Very short beziers (<<10µs) lead to an exception.
BUG 14105 Elliptic curve sweep direction is ignored when calculating heading.
BUG 14104 Firmware may crash if abort is active while firmware starts.
2.1.0 19/04/2022 BUG 13957 Incorrect scanner positions calculated by Inverse Correction functions.

Scanner positions reported via TraceBuffer are now correctly resolved to Field Positions in all cases.

BUG 13956 AppendPositions command does not update Current Position correctly.

The AppendPosition command now correctly updates the internal Current Position used by subsequent vector commands.

New Feature 13955 SPICE3LogPlayer: add calculation and display of list execution statistics.

SPICE3LogPlayer can now display additional statistics for command lists.

New Feature 13954 SPICE3VirtualPointer add zoom capability.

SPICE3VirtualPointer now provides zooming on the virtual field.

2.0.4 17/03/2022 BUG 13890 Point[234]D.FromString does not correctly recognise numbers with exponents.
2.0.3 09/03/2022 BUG 13875 Command.IsMarkCommand returns "false" for Arcs and Bezier curves.
BUG 13828 Connect with mis-matched NativeLib version causes "Already Connected" instead of "Version Mismatch" exception.
BUG 13754 Axes == "XYZ, SensorZ" causes Unexpected exception during rpc-call: Axes::_from_integral: invalid argument.
BUG 13716 Mark Delay is missing after continuously executing a list for 6h.
Change Request 13870 Relax the minimum distance for a jump when the insertion of "JumpDelay" should be skipped from 0 to 0.25um.
Change Request 13866 Reduce stress subjected to deflection unit when aborting list execution.
New Feature 13869 Add new list command "AppendPositions", which directly sends an array of arbitrary positions to the deflection unit.
New Feature 13379 In the SPICE3Config Tool, add a direct link to the SP-ICE-3 User's Manual.

See: Help menu item: "View SP-ICE-3 User's Manual".

2.0.2 18/01/2022 BUG 13702 Stop MOTF command may hang in certain rare cases (with rebooting card as the only remedy).
BUG 13701 Querying the scanner via the TransceiveEnhanced method intermittently results in a false Y axis timeout error.
BUG 13699 MOTF catch-up skipped in certain rare cases - resulting in jump at infinite speed.
BUG 13667 Negative change rate in PowerRamp.Apply() can cause preceding ramp to terminate early: potential burn-in.
BUG 13666 Computation statistics do not include magnification moves.
BUG 13515 ClientAPI.Connect(CardInfo card) incorrectly reports API Version Mismatch as "Could not re-discover card".
BUG 13485 AppendDefaultRel( relPos ) incorrectly targets the command at (relPos - 1) within the list.

IMPORTANT NOTICE: Change of Command Behaviour!
In versions prior to v2.0.0, the value of relPos was incorrectly interpreted as ( value - 1 ).
From v2.0.0 onwards, the parameter' s value is correctly interpreted.
Custom applications may need to be refactored to take account of this change.

Change Request 13708 Remove deprecated function: AppendEnableSkyWriting( bool enable).

IMPORTANT NOTICE: Removal of Deprecated Method!
Since v1.43.0, use of the method has been deprecated, with equivalent functionality
being available in CommandList.AppendSkyWritingMode( SkyWritingMode mode) (q.v.)
Starting with v2.0.0, the original method has been completely removed from the ClientLib API.
Custom applications may need to be refactored to take account of this change.

Change Request 13698 Improve through-put when reading block of data from SPI module.
Change Request 13697 Refactor core execution module to enhance robustness against FIFO underflow conditions.
New Feature 13700 Extend correction file to include pre-defined field "ScannerInfo" including "Model", "ID", "Description" etc.
New Feature 13665 Enhance SPICE3LogPlayer so that command lists can be edited.
1.45.1 12/10/2021 BUG 13457 NATIVE rlListAppendJumpAndShoot3D erroneously inserts a "JASA" instead of a "JAS3A" command.

The command is now generated correctly.

1.45.0 31/08/2021 Change Request 13299 List commands that are waiting for something should support a timeout.
1.44.3 19/07/2021 BUG 13280 Unexpected error "Cannot add a delay of 2.54... to Engine 6 (Power)..." encountered when marking with Power Ramp.
Change Request 13261 ClientAPI.Connect(CardInfo ci) should attempt to re-discover the card, if the CardInfo.IP address is no longer valid.

ClientAPI.Connect(CardInfo ci) and rlConnectByCardInfo(rlCardInfo ci) now automatically try to re-discover the card by Serial Number if the IP member of the CardInfo is found to be invalid or out-of-date.
You can optionally force this behaviour by passing IPAddress.Any or IPAddress.IPv6Any (or the native equivalents) for the IP member. Connect will try to make the connection using the specified AddressFamily.

1.44.2 16/06/2021 BUG 13225 Power Ramp may prematurely be terminated by a subsequent "Power" list command.
BUG 13164 RlListAppendJumpAndShoot2D / 3D did not iterate through array (instead used first item N times).
1.44.1 27/05/2021 BUG 13163 SPICE3Config hangs permanently after "Connect" is clicked.
1.44.0 19/05/2021 BUG 13143 Stepper motor may not reach target position in certain combinations of velocity and acceleration.
BUG 13142 Read-only configuration files cannot be opened (affects "ConfigSet.Load" and SPICE3Config: File --> Load).
BUG 13138 SPICE3Config Tool: the enhanced tab does not correctly label the scanner's "SensorZ" axis.
Change Request 13140 Trace Server should permit only one connection and reject any additional connection attempts.

If the connection request cannot be accepted (because a connection is already active), then the request is immediately rejected and the caller receives an error.

Change Request 13139 Trace Server should send status quo trace events upon calling 'Start'.

When the client calls "Start", then the trace server will produce trace events for all enabled signals with their current value.

Change Request 13136 Move TraceBufferAPI out of ClientLib and into TraceBufferLib.
Change Request 13116 Remove useless PinAction parameter from CommandList.AppendTraceConfig().

The redundant parameter "action" has been removed.

New Feature 13146 Wire "Motor Step & Direction" signals to trace buffer.
New Feature 13145 Jump after part with "jump speed" if "MOTF Wait XXX" condition has already been met (rather than with infinite speed).

The scanner now executes the necessary "catch-up" jump with "Jump Speed".

New Feature 13141 Filter encoder position to improve MOTF speed detection (crucial if velocity-dependent power correction is enabled).

The encoder's position and speed are being low-pass filtered to reduce jerky tracking, and to significantly reduce the adverse impact on power if velocity-dependent power correction is enabled.

New Feature 13135 Implement Native.TraceBufferLib.
1.43.1 16/03/2021 BUG 13005 P2P card cannot be discovered if no Ethernet connection exists at startup.
BUG 13003 Magnification ramp not correctly processed.
BUG 13000 LaserOff command re-enables the dash generator: subsequent marks/jumps all "dashed".
1.43.0 19/02/2021 BUG 12926 Power values stop being output for bitmaps extending more than 262ms.
BUG 12925 Intermittent faulty power values when section of power ramp extends more than 262ms.

Occasionally a power value was skipped or zero (0) was output.

BUG 12915 Incorrect power values are written for non-16bit wide power targets (for example "Digital8Bit").
BUG 12910 ADC adapter's FPGA should be automatically configured after being enabled.

Now, when enabling the ADC adapter it will be immediately configured. An explicit card reboot is no longer required.

BUG 12899 CommandList.ToString() output differs between native and managed Clients.

Native and managed Client CommandList.ToString() format is now identical .

BUG 12855 RlMotorGetVariables always returns bogus values for CoordinatedAcceleration and CoordinatedVelocity.
BUG 12847 Inconsistent member name "Transform" in native rlProcessVariables vs "Transformation" in managed ProcessVariables.
BUG 12824 ClientLib: Discovery occasionally fails to find any IPv4 addresses.

The ClientLib now keeps on re-trying discovery until the ClientAPI.Timeout expires.

BUG 12728 Firmware occasionally fails to start when card is (re)booted.
BUG 12705 Marking bitmaps using the sprint algorithm may lead to bitmaps wrongly marked and an error at the end of execution in rare cases.
Change Request 12914 Rename property in native SystemConfig from "Timezone" to "TimeZone".
Change Request 12912 Improve temporal precision of micro-vector generation.

Consequently, the positional deviation, which can be observed particularly in high-speed applications, is significantly reduced.

Change Request 12909 Dash-line pattern does not align with vector's start position when laser-on delay is non-zero.
Change Request 12908 Introduce new SkyWritingMode "Minimum Change-of-Heading" (in addition to "Force at start-finish").

A new list command "AppendSkyWritingMode" has been added, and selects one of the two sky-writing modes, or "Disabled" in order to deactivate sky-writing.
The existing command "AppendEnableSkyWriting" is now obsolete, and will be removed in a future release.

Change Request 12900 Add Favourites tab to the User's Manual.

The User's Manual now provides a "Favorites" tab for your convenience.

Change Request 12898 Remove redundant local HTML help pages from SP-ICE-3 Software Distribution Package.

The .chm file provides the same content in convenient, locally accessible form.

Change Request 12841 Adjust all native xxxConfig.ToString()s so their output format is identical with that of the managed methods.

In particular, the Client-Log entries for xxxConfigs generated by native and managed Clients are now identical.

1.42.0 19/11/2020 New Feature 12699 Add new list command "AppendWaitForInput": halts execution until a condition on the input port is met.
1.41.2 09/11/2020 BUG 12666 Homing with method "AtCurrentPosition" ignores "HomeOrigin".
BUG 12665 Homing with method "AtCurrentPosition" does not change "IsHomed" status.
BUG 12664 MotorAPI.IsHomed reports incorrect status in some cases (may return 'True' even after call to MotorAPI.ClearHome).
BUG 12663 Stop Motf command is not executed in some cases (if command is at end of list and Sky-Writing is active).
BUG 12662 Velocity-dependent power correction not correctly working for arcs, ellipses and Beziers.
BUG 12657 Power ramping timing could be wrong in rare cases.
Change Request 12676 IO Voltage Level in SPICE3Config tool should say "Disable" instead of "0V".
Change Request 12656 When executing a StopMotf command, JumpSpeed should be used when moving the beam to the target position.
1.41.1 07/10/2020 BUG 12614 Deceleration leg missing if Mark vector is followed by "Stop Motf" or "Laser Off" command.
BUG 12613 Modifying the dash pattern between two subsequent marks may lead to "Cannot add a delay..." error.
BUG 12537 Execution of STOP_MOTF does not set the Execution Statistics correctly.

Execution Statistics are now correctly set by STOP_MOTF.

BUG 12515 Problem with setting of IP address on Eth0 via WebIF (udhcp overrides EEPROM setting).

The custom settings are no longer overwritten by the DHCP-Server.

BUG 12514 Deleting (RemoveAt) a BranchToLabel at the very end of a CommandList causes a ListLabelException.

Removal of BranchToLabel command is now correctly handled.

BUG 12495 Power ramping may not work correctly in some cases for elliptic curves, elliptical helixs or Beziers.
Change Request 12478 Permit concurrent file transfers (including exchanging field corrections) on different clients.

Concurrent transfers on multiple clients are now possible.

1.41.0 04/08/2020 New Feature 12447 Provide new list command "AppendHeadBias" so that bias values can be changed within a list.
1.40.1 22/07/2020 BUG 12342 SPICE3Config suffers timeout when uploading very large correction files.

Timeout is now adjusted automatically for each CF-upload.

BUG 12327 WebIF Status page loads dreadfully slowly once the error log has an appreciable size.

We now only display the tail (max 100 lines) of the log, and use a scrollable textarea to display it.
The switch-over from the LOGIN to the STATUS tab is now (almost) instantaneous.

BUG 12326 WebIF returns Http Status 500 if Update is started with no file selected.

Missing filename no longer causes Http Status 500:
Instead, a warning message appears on the Update page.

Change Request 12360 SPICE3LogPayer should be added to the RELEASE package.

Ammended the script in SP-ICE-3-Host-Software to make it copy the binary to the output directory.

Change Request 12319 Graceful update failures should display better info on WebIF.

If an error occurs during the update process, it is now reported in a highly visible manner.

New Feature 12403 Add the ability to define IPv4 Default Gateway via the WebInterface.

Added a Default Gateway field to the WebIF Settings page, and made it reference an EEPROM entry called "IPV4DEFAULTGW".

Field is NOT visible when both interfaces are set to DHCP.

1.40.0 09/06/2020 Change Request 12273 API log should write an array's elements (now, only a summary such as 'Uint16[]' is written).
Change Request 12270 Calculate "SkyWriting Extension Length" as "Extension Time" times "Mark Speed" (remove factor 0.5).
Change Request 12266 SPICE3Config should provide auto-refresh (read and display) for the LaserOut port on the I/O-Tab.
Change Request 12218 API renaming: SkyWriting property "AccelerationTime" becomes "ExtensionTime".
Change Request 12217 API renaming: "SkyWritingParameters" becomes "SkyWritingSettings".
Change Request 12153 Implement missing native rlListGetLastExecutionStats().
Change Request 12054 Make (private) IP Address calculations available via the ClientLib API.
Change Request 11914 Remove un-implemented laser config parameters: "Off Power" and "Stand-by Power".
New Feature 12139 Implement PowerScale and SpeedScale as ListCommands (in addition to the existing ControlCommands).
1.39.1 26/02/2020 BUG 12024 With native API, executing command without parameters (e.g. LON, LOF) leads to IndexOutOfRange exception.
BUG 11986 A laser-on command ("Drill Dot") with a long duration at or near the beginning of a list may not be executed.
BUG 11971 If field size Z is 0 then marking vectors with non-0 Z coordinates should not be permitted.
Change Request 12026 Improve SPICE3IPCalc/GUI Tools so they also show IPv6 addresses.
Change Request 12006 With sky-writing enabled, first and last mark vector should always have an acceleration and deceleration vector, respectively.
Change Request 11977 Process Variable "SkyWriting.AccelerationTime" should default to the scanner config's acceleration time.
1.39.0 15/01/2020 Change Request 11901 Opening a read-only correction file fails due to insufficient permissions: Introduce OpenRead and OpenWrite.
Change Request 11897 Introduce laser parameters dedicated to sky-writing (laser on/off delays, acceleration time, acc/dec delays).
Change Request 11855 Vector commands whose control points (for example: arc's center) lie outside virtual field result in an error.
New Feature 11900 Add "Exists" method to BooleanVariable, IntegerVariable and MarkCounter API.
New Feature 11899 Enhance AdapterBoard API: permit enabling/disabling adapter board with an emulated configuration EEPROM.
1.38.1 02/12/2019 BUG 11831 Firmware does not always start first time.
BUG 11830 SPICE3Diagnostic tool fails to set beam with "VerificationException".
BUG 11829 Relative motor move does not correctly test soft limits.
BUG 11828 Homing motor axis M1, M2 or M3 unintentionally stops M0.
1.38.0 05/11/2019 BUG 11744 SPICE3Config tool does not properly report errors that occur during discovery.
BUG 11743 Card Discovery may intermittently fail on PCs with larger number of installed network or SPICE3 cards.
BUG 11725 PCIe timing parameters not correct for SP-ICE-3 cards from new production series (SP301123 onwards).
1.37.2 05/11/2019 BUG 11764 PCIe timing parameters not correct for SP-ICE-3 cards from new production series (SP301123 onwards).
1.37.1 08/08/2019 BUG 11557 Turning laser on with a given number of pulses may fail when async flag is false and laser would be on for several seconds.
BUG 11556 When FieldSize Z is set to 0 eliptic curves are not working.
BUG 11555 Marking a bitmap line in sprint mode that takes more than 524ms fails.
1.37.0 31/07/2019 BUG 11524 Inverse field correction does not work as expected.
BUG 11518 Native vs Managed ClientUPnP::Discover() produce differing list of cards.
BUG 11464 Fewer cards discovered with native than with managed client lib.
Change Request 11523 Add Inverse field correction also to the Native ClientLib and add functions to get Scanner/Field coordinates.
New Feature 11522 New Diagnostics-Tab in SPICE3Config that allows seeing the status of several card settings.
New Feature 11521 Add API to Get/Set all configurations at once on the card.
1.36.2 05/11/2019 BUG 11761 PCIe timing parameters not correct for SP-ICE-3 cards from new production series (SP301123 onwards).
1.36.1 05/07/2019 BUG 11477 Laser Power is not updated when disabling velocity-dependent power correction.
BUG 11475 At random SP-ICE-3 card may begin to advertise an extra "ghost" IP address (169.254.0.3).
BUG 11474 Card's UPnP Server may impair marking after weeks of up-time (possibly causing FIFO underflows).
Change Request 11476 Filter glitches on laser alarm input shorter than 5us.
1.36.0 05/06/2019 BUG 11409 ObjectDisposeException occurs when the RTB JIT Helper terminates.
BUG 11361 Wobbling while marking may start/stop to late by up to the maximum tracking error.
BUG 11344 Bezier is not calculated correctly if start point and first control point are the same.
Change Request 11429 Support generating an inverse correction table to allow transforming coordinates in the scanner domain back to user domain.
Change Request 11425 Sign .NET assemblys.
Change Request 11424 Allow arming the laser while laser alarm is active.
Change Request 11364 Add an async flag to AppendLaserOn(pulses) list command.
New Feature 11426 Allow for storing extra infos inside a correction file.
New Feature 11352 Check for list commands to be valid when deserializing lists from string or binary format and convert if necessary.
1.35.4 05/11/2019 BUG 11762 PCIe timing parameters not correct for SP-ICE-3 cards from new production series (SP301123 onwards).
1.35.3 11/04/2019 BUG 11325 PowerRamp will fail if ramping takes longer than 0,52ms on the same marking vector.
BUG 11154 Connection lost during execution.
BUG 11119 Velocity-dependent power correction does not use correct expected beam velocity if wobble is active.
BUG 11075 Intermittently "ListDone" events are missed for lists with 0 execution time.
1.35.2 06/03/2019 BUG 11218 Determined motf encoder speed is unstable leading to unwanted shifts on the response distance.
BUG 11167 FIFO Underflow can occur when executing lists with short vectors or short dashed pattern.
1.35.1 19/02/2019 BUG 11152 For Bezier/Ellipse/Circle the power ramp feature can produce an error in rare cases.
BUG 11147 Part sensor response time not working.
BUG 11107 Parameter "Part Sensor Response Time" has no effect.
1.35.0 07/02/2019 BUG 11073 Length of sky-writing extension vectors must not be affected by process transformation.
BUG 11062 Laser does not stay on requested time if AppendLaserOn is called with large number of pulses (on-time > 33 seconds).
BUG 11042 Watchdog causes premature CPU reset during Reboot (may affect firmware update).
BUG 11033 When using SwitchCase without a default the first command after the statement will be skipped if none of the cases applies.
BUG 10977 PointAndShoot in combination with LmWidth and short exposure times (<0,3µs) fails.
BUG 10976 PowerRamping may fail with a negative delay when using in combination with short vectors.
BUG 10965 SPICE3Config nullref error on Connect when Select-Box is empty.
BUG 10937 TRY_BOOT appears to increment by 2 for each unsuccessful boot attempt.
BUG 10838 For Arcs / Ellipses the Dashed Line pattern does not always precisely align with end point.
BUG 10738 Process transformation is not correctly applied to arcs and ellipses.
Change Request 11072 Allow enabling sky-writing between subsequent mark vectors with immediate effect.
Change Request 11070 Add "bit mask" argument to all branch commands which compare a port against an expected value.
Change Request 11032 Ability to store Boolean and Integer Variables, and Mark Counter states (especially desirable for stand-alone mode).
Change Request 10994 Point-And-Shoot algorithm should ignore Velocity Based power correction.
Change Request 10978 Peripheral list commands (IO,Dac,Spi..) were executed relative to the position, but should be relative to the actual marking.
Change Request 10874 Sample code for Dashed Line.
Change Request 9970 Arcs and Ellipses do currently only work in x/y direction, transforming them into z will not work.
New Feature 10907 Add list command to apply a list of micro vectors.
New Feature 10884 Support for speed scaling.
New Feature 10802 Support for quadratic and cubic bézier curves.
New Feature 10649 Implement update mechanism for U-Boot.
1.34.5 05/11/2019 BUG 11763 PCIe timing parameters not correct for SP-ICE-3 cards from new production series (SP301123 onwards).
1.34.4 28/11/2018 BUG 10941 Wobble orientation depends on previous moving direction when wobbling on a static position.
BUG 10940 If Motf tracking continues directly after a StopMotf command an OutOfFieldException may occur.
BUG 10927 Writing CorrectionFiles to different cards at the same time using NativeClientLib may fail.
BUG 10908 Communication using the enhanced protocol does not work for Zoom and Sensor Axis.
1.34.3 13/11/2018 BUG 10901 Bitmap lines may be to short both at the beginning and the end.
BUG 10856 First "Execute" after "Abort" may produce unwanted extra mark vectors in some cases if Sky-Writing is enabled.
1.34.2 02/10/2018 BUG 10862 Execution of stand alone list may stop if two AbortMark signals appear shortly one after each other.
BUG 10804 Wobble without moving does not always work.
BUG 10803 WobbleEight API call in native client lib produces wrong results.
1.34.1 18/09/2018 BUG 10794 Old SystemConfig gets not correctly converted.
Change Request 10795 Having more than 112 lists in execution will result in an error appearing in the log while there is none.
1.34.0 11/09/2018 BUG 10717 Power timing incorrect if its update rate exceeds 1MHz (bitmap marking only).
Change Request 10781 Allow removing correction and calibration files from the card using SPICE3Config.
Change Request 10759 Allow position dependent power correction and power calibration to be enabled/disabled from within the list.
Change Request 10673 ScannerMonitoring should stop on the first error instead of reporting the error again until disabled or error is gone.
New Feature 10623 Firmware to enter an error state if initialisation fails: particularly in Stand-Alone mode.
1.33.4 05/09/2018 BUG 10761 SkyWriting change of heading is calculated wrong between end of circle/ellipse and the following vector.
1.33.3 17/08/2018 BUG 10700 SkyWriting vectors for ellipses with rotation are wrong.
1.33.2 08/08/2018 BUG 10698 No positions will be send to the ScanHead if sum of MaxTrackingError plus TransferDelay plus PowerChangeSetup is >= 10000.
BUG 10697 When a list is executed while abort signal is still active, marking result will be incorrect.
BUG 10626 Power-correction file suddenly has length 0.
1.33.1 31/07/2018 BUG 10670 DashedLine pattern may not be marked correctly under some circumstances.
1.33.0 17/07/2018 BUG 10629 ListAPI.IsExecutionInProgress() does not return true when waiting for a "Start Mark", "Part Sensor" or "Motf" event.
BUG 10622 When using Motf the marking position differs for different belt speeds.
New Feature 10648 Implement SerialPort functionality (RS-232 X802) for controlling external equipment.
New Feature 10639 Support for a part sensor response time for Motf.
New Feature 10552 Support for equally spaced pulses.
New Feature 10441 Extend wobble feature to not only support circular wobbling but also Lissajous figures.
1.32.2 12/07/2018 BUG 10614 Delay used for reference speed ignores parameter "Scan Head Delay".
Change Request 10613 Alter card's scanner model from PT2 to PT6 to further improve velocity-dependent power corrections.
1.32.1 13/06/2018 BUG 10580 An error may occur when marking consecutive mark vectors with DashedLine enabled.
BUG 10567 When adding ellipses to the list execution may not finish or some timings may be wrong.
BUG 10551 Having more than one list in execution queue when using skywriting last vector of the previous list is marked without skywriting.
BUG 10544 Extra Z Axis does not work.
BUG 10520 HeadCorrectionAPI.GetOpticalParameters() does not work in latest release.
BUG 10510 List command "ExitList" does not take "EvaluationLeadTime" into account when testing condition.
Change Request 10531 Loading CommandLists that are stored on the card takes a long time.
1.32.0 25/05/2018 BUG 10512 SPICE3Config throws a NullReferenceException if an adapter board with a blank EEPROM is connected to the card.
BUG 10511 Skywriting erroneously inserts jump/mark delays immediately after acceleration/before deceleration vector, respectively.
BUG 10483 Hash stored in correction files with more than one table is wrong.
BUG 10482 ResetToDefaults fails with an error when having a list with more than 1000 commands on the card.
BUG 10481 Opening the webinterface from within SPICE3Config fails when selecting a card entry that was found using Discover.
BUG 10337 Spice3Cfg GUI should indicate the correct units for QuadDecoder.SimulationSpeed.
Change Request 10513 Apply "Power Change Delay" also to power changes due to velocity changes when "velocity-dependant power correction" is enabled.
New Feature 10468 SP-ICE-3 support for stepper motors using list or control commands.
New Feature 10461 Support for two field correction files per head to allow fast switching between two correction files.
New Feature 10460 Allow disabling of scanner axes to be able to only work with specific axes.
New Feature 10204 Allow monitoring of the scan head status in the background using the enhanced protocol.
1.31.3 08/05/2018 BUG 10454 Marking with DashedLine enabled fails with "Cannot add pulse @ t0=xx: resulting delay (x) is too short" under some circumstances.
1.31.2 13/04/2018 BUG 10407 Changing spot magnification does not work on all supported 4D scanhead formats.
BUG 10401 MarkTime is applied in reversed order.
BUG 10375 When using PowerRamping to ramp up to maximum or down to minimum, an overflow may occur.
1.31.1 20/03/2018 BUG 10351 Changing power between two markings will apply a LaserOffDelay prior to changing the power.
BUG 10348 Having more than 128 lists executing at the same time will block the firmware communication until the first list is done.
BUG 10346 When an error occures during execution, firmware may crash in rare circumstances.
Change Request 10354 Exceptions that occur when using an API call should be logged to the ClientLib logfile if it is enabled.
1.31.0 09/03/2018 BUG 10327 Disabling client log ("DisableLog") does not immediately close log file.
New Feature 10232 Implement CommandList.AppendLabel and CommandList.BranchToLabel.
New Feature 10205 Allow changing single values of an active power correction table.
New Feature 10203 Implement an option to install user programs on the SP-ICE-3 card and autostart on boot.
1.30.2 28/02/2018 Change Request 10292 Enhance velocity-dependent power correction to take "Power Change Setup" into account.
1.30.1 02/02/2018 BUG 10213 Enabling/Disabling DashedLine while currently marking will lead to wrong results or cause an error.
1.30.0 29/01/2018 BUG 10146 API logging for large lists that are transfered using SetList is wrong.
BUG 10145 Adding two peripheral commands to a list one after each other that are setting and clearing the same bit will lead to a toggle.
BUG 10143 Missing ListDone or other errors during list execution in rare cases.
BUG 10118 When using loops inside a CommandList created with the native ClientLib, execution may fail with an error in some circumstances.
BUG 10117 Changing signal polarity inside the laser config does not change the polarity for external adapter boards.
BUG 10070 ELL3A: Negative sweep angle gets marked in positive direction.
BUG 9983 When PowerTarget is set to Dac0 or Dac1 and lmWidth is equal or larger than 1/lmFrequency, lm signal is wrong.
BUG 9965 List command AppendEnableVelocityCorrection does set but not apply the value.
BUG 9835 Corrupted update-package causes unexpected reboot, and further attempts to run update fail.
Change Request 10147 Add TryWaitForProgress/ListDone/ListIdle API calls that don't throw a exception in addition to WaitForProgress/ListDone/ListIdle.
Change Request 10144 Add config option to allow lm signal to be tied to the gate signal for the case that a laser has no gate input.
Change Request 9750 Laser Alarm hat keine Auswirkung auf Listenausführung.
Change Request 8465 Laser Alarm should indicate an error.
New Feature 9936 Add a sample program which demonstrates the "Trace Buffer" features.
1.29.0 15/12/2017 BUG 10085 VersionMismatchException reported by SPICE3Config not immediately obvious to end-user.
BUG 10062 Setting pulse width to zero was actually setting the output pulse width to maximum.
BUG 10015 When StandAloneMode is enabled, errorList is only executed on error after restarting the firmware.
BUG 10002 When executing only one single list in an endless loop, mark/jump speed increases significantely after several hours.
BUG 9912 Card cannot be discovered if connected externally after firmware has booted.
Change Request 10089 Load (but not execute) all stand alone lists directly after enabling stand alone mode.
Change Request 10081 Change TraceBufferLib to be more userfriendly.
Change Request 10066 Move DistancePerCount from MotfConfig to QuadratureDecoderConfig.
Change Request 10061 DashedLine feature should use gate output instead of modulating the power.
Change Request 10016 When SkyWriting is enabled and last vector is a mark vector, there will be no decelleration for this vector.
New Feature 10087 Add possibility to allow synchronization with laser.
New Feature 10083 Incorporated SPICE3LogViewer into the published set of SPICE3Tools.
New Feature 10023 Stand-alone mode, Return to Stand-alone list after error list.
New Feature 9935 Native Client Lib misses SystemAPI methods: GetConnectionLimit, GetFirmwareProductVersion, GetSupportedTimeZone.
New Feature 9934 Listxxx Event Delegates should include reference of client connection to identify its sender.
New Feature 9888 Allow to define maximum line length of log file entries.
1.28.6 15/11/2017 BUG 10041 Upnp_app (daemon) consumes CPU disproportinately, causing unexpected pauses during marking.
BUG 9998 When using variable jump delay, execution fails with an exception if JumpLengthLimit is set to zero.
BUG 9987 When using a Motf Wait-command inside the list, execution of the list will not finish under some circumstances.
BUG 9975 SkyWriting: MinCoH is only used between two subsequent mark vectors but ignored for mark after jump or jump after mark.
BUG 9974 Execution fails because driver returns an error when writing new vectors.
BUG 9963 Velocity Dependent Power Correction not working correctly for Arcs and Ellipses.
BUG 9933 Corrupt correction files (without valid header) result in a "sharing violation" exception.
Change Request 9962 APIPA range used by INT and P2P cards not sufficient.
Change Request 9932 Reassign upper 3 axes in the RL3 protocol.
1.28.5 11/10/2017 BUG 9909 TraceBuffer event timestamps can be wrong.
BUG 9897 Field corrections not completely loaded for scanner systems with 4 or more axes.
BUG 9867 When turning laser on for a specific number of pulses, the number of pulses is ignored and laser will stay on.
Change Request 9880 Using branching condition can lead to an fifo underflow.
1.28.4 22/09/2017 BUG 9856 Execution can block if several branch commands are executed directly one after each other.
BUG 9849 DashedLine and PowerRamp feature do not correctly consider delays.
BUG 9837 Wobble-feature: peaks/ disturbances in the X-command signal.
BUG 9836 Wobblewidth is 4x bigger than the set width(in weldMARK and JustageSW).
Change Request 9833 StopMOTF should turn the LaserOff.
1.28.3 08/09/2017 BUG 9825 TimeoutException may occur after 10 seconds when working with conditions inside the list.
BUG 9823 Firmware crashs during initialization if the STOP_MARK input of the Laser connector is active during boot.
1.28.2 04/09/2017 BUG 9816 When turning laser on manually using a list command, the laser is turned off automatically after end of list.
BUG 9815 QuadratureDecoderConfig may not be correctly applied.
BUG 9812 Receiving responses from ScanHead 1 using the RAYLASE protocol does not work.
BUG 9811 PowerRamping can lead to power set to zero when ramping with many small vectors.
BUG 9808 DashedLine does stop to early if laserOn/laserOff delays are set.
BUG 9805 Changing power to a fixed value when power ramp is in progress, the value has no effect.
BUG 9794 When disarming the laser by a list command directly after a mark, gate can go low to early.
1.28.1 16/08/2017 BUG 9787 With velocity-dependent power-correction enabled laser power changes too early for certain configurations.
BUG 9784 When changing the power by a list command after a mark vector, an undesired mark delay is added.
BUG 9783 TransmitEnhanced throws NullReferenceException.
BUG 9782 When setting Motf distancePerCount for the compensation encoder, distancePerCount of main encoder is used instead.
BUG 9769 Wobble output frequency is imprecise, the error increases for higher frequencies.
BUG 9753 Temporary extracted correction files should be deleted when CorrectionFile is closed.
BUG 9738 Applying process transformation by list and deleting the list afterwards will reset process transformation to identity.
BUG 9736 Power change takes effect during LaserOff time Delay of the previous marking vector.
Change Request 9771 Allow input of wobble frequency in Hz instead of MHz when using SPICE3Config.
Change Request 9758 Change "RAYLASE AG" to "RAYLASE GmbH" everywhere.
1.28.0 28/07/2017 BUG 9806 PowerChangeSetup in combination with bitmap marking has a strange effect.
BUG 9699 Variable PolyDelay not working as expected.
BUG 9668 When manually turning off the laser using AppendLaserOff then the LaserOffDelay is applied on top of MarkDelay.
BUG 9664 Native client lib: arc commands is interpreted as M3A.
BUG 9658 Overflow occurs when jumping/marking to the minimum position on the x-Axis (-FieldSize.X/2).
BUG 9646 SPICE3Config Enhanced-Tab does not work anymore for ScanHeads with two axes.
BUG 9638 Ellipse: wrong target point calculation.
BUG 9632 Ellipse with orientation angle jumps before or after marking.
BUG 9614 ProcessTransformation is not applied to ELL3A.
Change Request 9729 EnableLog should write client and firmware version into the log file.
New Feature 9649 SPICE3Config: In the extended tab show also status for Zoom-Axis and SensorZ-Axis if available.
New Feature 9639 Support for circular wobble.
1.27.0 12/07/2017 BUG 9627 Set/Get for SystemConfig does not work from native ClientLib.
BUG 9619 Scanner's field transformation not correctly converted after updating to version 1.26.0.
BUG 9602 Tracking Error compensation should be done after applying the field corrections.
BUG 9594 Requested trace "Analog2" mistakenly recorded channel "Analog1".
BUG 9572 Card apparently not replying to ping / ssh from host.
BUG 9571 Execution fails when using a very slow MarkSpeed (e.g. < 1 mm/s).
BUG 9525 Some old correction files created with a version prior to 1.26.0 can not be read by the managed library.
BUG 9524 When having large sleep times (several ms) between two peripheral commands, a fifo underflow may occur.
BUG 9521 Some compressed correction files that are created with the managed lib can not be modified by the unmanaged lib.
BUG 9512 Segfault in Linux Native ClientLib when running UnitTests.
Change Request 9603 Suppress "scratchy" noise made by scanner during Field Correction Upload (including "ResetToDefaults").
Change Request 9601 Refactor ScannerConfig to reflect all 3D & 4D modes and to support up to 5 axes.
Change Request 9570 Implement user-setting for IPv4 NETMASK.
Change Request 9568 Branching by port should allow 2^16 (ports A-C) or 2^24 selectors (ports D-E), not just 16 or 24, respectively.
New Feature 9596 Port C should support inputs Motor Limit and Motor Home.
New Feature 9595 Port C should support inputs StartMark, AbortMark and the Part Sensor.
New Feature 9579 TraceBufferLib should contain a helper function to bring the events into a readable form sorted by timestamp.
New Feature 9145 Implement Skywriting funtionality.
1.26.1 24/05/2017 BUG 9505 RlCFTableReadUInt64 does not work for new fc3 format with support for compression/more than one table.
1.26.0 22/05/2017 BUG 9464 Incorrect postinst for init-ifupdown.
BUG 9369 Drill Object & Power Change Delay.
New Feature 9400 API for managing the Spot Size (Zoom).
1.25.3 13/06/2017 BUG 9551 Execution Error can appear when using the DashedLine feature.
1.25.2 29/05/2017 BUG 9509 When using the RAYLASE protocol for communication with two heads, command may be sent to the wrong head.
BUG 9503 When adding sleeps > 6 seconds to the list, no execution happens and card blocks until reset.
BUG 9301 If there is a CommandList with a peripheral command before the control engine was used, execution will fail.
New Feature 9356 Add a list command for activating/deactivating velocity-dependent power correction.
1.25.1 17/05/2017 BUG 9485 Firmware initialization can fail with a NullReferenceException.
BUG 9484 Adapter eeprom be corrupted when firmware crashes on initialization.
BUG 9476 For the AppendExitList(..) list command the EvaluationLeadTime is not considered.
BUG 9450 When executing a list that contains AppendSimmerPower command several times it will fail after the 5. execution.
1.25.0 05/05/2017 BUG 9386 When marking a whole ellipse (360°) the marking stops before the endpoint is reached.
BUG 9374 Linux libraries are missing various symbols resulting in linker errors.
BUG 9335 CorrectionFileLib: Calling GetOpticalParameters() leaves the file open.
BUG 9326 SPICE3Config fails to retrieve "tracking error" from older SPICE3Config configuration files.
BUG 9214 Firmware does not handle the transformation of 2D-Vectors correctly.
Change Request 9342 Possibility to store motf simulation speed and acceleration on the card.
Change Request 9332 Load PCL-Files (PowerCalibration files) using the API, Interpolation within the firmware.
New Feature 9381 Add Sample Code for Master List / AppendSwitch command.
New Feature 9317 Stand-Alone Mode.
New Feature 9302 OpticalParameters.MaxAngle should be per axis.
New Feature 8023 Laser Power Scale should be incorporated in the Laser Config structure.
1.24.1 14/03/2017 Change Request 9289 Range of the field should be between -(Fieldsize/2) / (Fieldsize/2) including the outer limit.
1.24.0 09/03/2017 BUG 9280 Reusing a large CommandList after calling List.Set may result in "count is negative" exception.
BUG 9271 Enabling of invalid field corrections should not be permitted.
BUG 9270 Correction files on the card are created using the filedsize set in the ScannerConfig and not the one in the optical parameters.
BUG 9251 Motf Encoder Scale is not updated when field size is changed.
BUG 9226 Loops with a count of 0 are executing indefinitely.
BUG 9223 Correction files for second scan head are not correctly loaded - may also affect first scan head.
BUG 9222 Scanhead Format "Single 4D" mistakenly selects "Dual 2D".
BUG 9203 ScannerAPI.ReadPositions() returns an incorrect "NominalBeforeTransform".
BUG 9202 Transform3D incorrectly calculates inverse transformation.
BUG 9179 Any early Waitxxx command in a list prevents start of execution.
BUG 9174 Invalid field / power correction file should report an error.
BUG 9170 SetClientLibVersion does not detect version mismatch correctly.
BUG 9159 SPICE3 incorrectly treats 18 bit responses from scanhead.
BUG 9137 When the webinterface user.config is broken or empty, webinterface does not work.
BUG 9124 ConnectionLimit is always 1 even if its changed inside the webinterface.
BUG 8988 Motf with virtual field: Axes Head0=[X] are outside the scanner's field.
Change Request 9274 Match on condition not true when using flow control.
Change Request 9269 Update mechanism for configuration files stored on the SP-ICE-3 card.
Change Request 9257 Method "GetOpticalParameters" exists in native DLL, but is missing in the managed DLL.
Change Request 9256 Change naming of ScanHeadConfig parameter from Lag to TrackingError.
Change Request 9252 Naming of rlListAppend*Cond should be consistent with rlListAppend*CondFlag.
Change Request 9206 Motf commands "WaitForPart" and "WaitForDistance" should not automatically reset the MOTF offset.
Change Request 9183 Implement a LIST_EXIT command, to allow lists to be prematurely terminated.
Change Request 9181 Provide JUMP_TO_LIST in addition to BRANCH_TO_LIST.
Change Request 9169 Extend enum "LAYER" by adding new definition "L1".
New Feature 9168 Firmware: Implement a Factory Reset mechanism.
New Feature 9157 Firmware part: Allow configuration of Motf to allow Spi as an input source besides the Quadrature Decoder.
New Feature 9155 Allow configuration of Motf MainEncoder and CompensationEncoder for any direction.
New Feature 9154 Allow changing the value of a BooleanVariable and a IntegerVariable by list command.
New Feature 9153 Implement Variable Jump Delay.
1.23.0 02/02/2017 BUG 9090 ELL3A: Axes Head0=[X] are outside the scanner's field.
BUG 9087 "Start Mark" should be edge-sensitive.
BUG 9079 Reboot from WebIF leaves "reboot=true" in address bar of browser.
BUG 9077 Client.ScannerCommunication.TransceiveEnhanced returns none or wrong values for Y Axis.
BUG 9044 First execution after firmware start may result in FIFO underflow - subsequent runs are OK.
BUG 9041 Firmware crashes at startup due to apparently empty config files.
BUG 9034 PowerRamping fails when using a very small change-rate (<0.0001).
BUG 9017 Unexpected behaviour in Point 'n' Shoot using common exposure.
BUG 9000 Peripheral commands using ScannerLag and ScanHeadDelay for calculation of t0.
BUG 8854 Firmware crashes at startup with "Unhandled Exception" from ListExecutor.
BUG 8478 Bitmap, CO2, LM activity without LM-GATE ?.
BUG 8477 Bitmap, Point & Shoot, strange glitch at the beginning.
Change Request 9050 Allow setting of HeadFormat to "SL2_Single4D" when working in 3D mode.
Change Request 8932 "Clear pending event" does not always remove all past events due to race condition.
New Feature 9118 Part Sensor events shall be suppressed for a certain distance past the initial trigger.
New Feature 9098 Append list commands from string.
New Feature 8975 Support Head Status for analog scan heads.
New Feature 8974 Provide way to realize the SP-ICE-1's "Auto_Change" functionality.
New Feature 8339 SPI Laser, List command for setting Simmer Current needed.
1.22.01 08/12/2016 BUG 8948 Point 'n' Shoot leads to failure if last M pixels are 0.
BUG 8939 AppendTraceConfig combined with long sleeps cause a Remote Exception.
BUG 8927 A previous "out-of-field" error prevents a correction file upload from succeeding.
BUG 8893 Allow uploading a gcd correction file for head 1 in SL2_Single3D mode.
BUG 8883 No space left on device: /media/fat only allows up to 128 entries in directory?!?!.
BUG 8879 Correction files are not completely written into the driver, the last x bytes are missing.
BUG 8803 Card gets stuck at power up - all leds on.
Change Request 8970 Report errors during execution using custom Exceptions instead of throwing always an AbortException.
Change Request 8896 WaitForProgress/rlListWaitForProgress should queue events locally like WaitForListIdle and WaitForListDone.
New Feature 8931 Add bit to SFR to indicate state changes on START_MARK.
New Feature 8812 Sample code MOTF & large bitmaps.