Click or drag to resize

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.

Functional Differences

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.

See: 8.4.1 The Marking-Engine-Busy Signal

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.

API Differences

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.

Traps and Pitfalls for the Unwary

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  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:

  • either

    • use an appropriate Command (e.g. JUMP_ABS 0, 0;) in the List before the TRANSFORMATION command;

  • or

    • make sure the galvos have been commanded to appropriate positions before calling SetConfig(config);

so that the transformed galvo positions stay within the field boundary.

Note   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.

Note   The Enhanced Protocol API calls expects command/data fields to be 20 bits wide.

Please refer to TransceiveEnhanced.

See Also