12.10 Notes on Software for former SP-ICE-1 Users |
Customers moving to the SP-ICE-3 from the SP-ICE-1 should be aware of various differences between the two cards.
These include hardware, functional, and conceptual differences, any of which may well make it necessary to adapt existing Applications.
Functionality | SP-ICE-1 | SP-ICE-3 |
---|---|---|
Position update generation period ("StepPeriod") | Variable: >= 20µs. | Fixed: 10µs. |
Number of Command Lists | 2 | not limited (except by memory capacity) |
Auto-Change ("ping-pong") between Lists | Limited to exactly two lists. Switching must be triggered by the Aut_Change() command. | Can be used with an arbitrary number of lists. Switching may be triggered by any appropriate combination of flow control commands, process variables, and list execution commands. For details, please refer to: 12.8 Auto-Changing between Lists. |
Units of Measurement | Distance: bit Frequency: µs-1 | Distance: µm Frequency: MHz |
Flow Control Commands | Not Available | Within individual Lists, e.g.: BRANCH_ABS_COND, etc. Between Lists, e.g.: BRANCH_LIST_COND, etc. |
Polyline ("Stroke") Handling | Via special Commands ("POLA|B|C"). | No special commands necessary. Instead, any consecutive group of... MARK_*, MARK_ARC_*, and MARK_ELLIPSE_* ... commands (and their variants) is automatically treated as a polyline. |
Built-in Serial-Number and Timestamp support | Not Available | Both, with format specifiers. |
Built-in support for user-defined Fonts | Not Available | For marking Strings, Serial-Numbers, and Timestamps. |
Marking Activity Indication | Single programmatically controlled Mark-In-Progress Signal. | Dedicated automatic Mark-Engine-Busy signal, plus as many independent programatically controlled GPIO signals as desired. |
Power Correction support | Not Available | Extensive. |
Extension of existing Command Lists | Not Available | Fully implemented. |
Error Reporting from the Card | Limited | Extensive and detailed. |
MOTF belt mis-alignment compensation | It was necessary to compensate for belt mis-alignment on each head separately, which was difficult, tedious, and error-prone. | Frames of Reference for User, Scanner, and Belt, are distinguished, so that belt mis-alignment compensation need only be specified once for the whole system. For details, please refer to 8.2.2 Frames of Reference. |
MOTF Triggering | Options more or less limited to "wait for encoder counts", with limited API support. | Flexible position-based triggering options. For details, please refer to 11.1.4 MOTF List Commands and Trigger Modes. |
Compared to the SP-ICE.dll, the 12.1 ClientLib and NativeLib API Implementations are implemented differently...
C# (.NET) Library in addition to C (Native) Library.
C#: uses Exceptions instead of GetLastError.
C: GetLastError reports _all_ errors.
C#: Status Events (instead of polling).
C: Status polling wraps Events, avoiding comms overhead.
Lists may be retrieved from the card for modification.
etc.
Customers moving to the SP-ICE-3 from the SP-ICE-1 may, in some cases, receive a very big surprise when they go out in the woods...
Difference | Remedy |
---|---|
Caution: changing the field transformation parameters (offset, rotation, scale) with a TRANSFORMATION command, or when changing the scanner configuration with SetConfig, will affect the galvo positions immediately. If the galvos are currently near the field boundary, the altered transformation parameters can cause them to move beyond the boundary, thus raising an Exception. | To avoid this, you can:
so that the transformed galvo positions stay within the field boundary. |
It is an error to attempt to transmit on a non-existent scanner channel using the Enhanced Protocol. | The SP-ICE-1 did not detect the erroneous channel selector. |
The Enhanced Protocol API calls expects command/data fields to be 20 bits wide. | Please refer to TransceiveEnhanced. |