<< Click to Display Table of Contents > 

Flash Control Interface Manual > Transformation

Transformation
Previous pageReturn to chapter overviewNext page

The following FCI commands are found in this chapter:

Command

Description

DF

Set a defocus.

EH

Enable one of the stored heads.

GCN

Get correction file name

GFS

Get field size [mm]

RT

Get/Set rotation.

RTH

Set head specific rotation.

SC

Get/Set scaling.

SCN

Set correction file name

TMB

Get transformation matrix

TMH

Set/Get head specific transfomation matrix.

TRB

Get/Set translation [bits].

TRH

Get/Set head specific translation [bits].

Table 57: Overview Commands Transformation

DF [<Value>]

 

Get/Set the defocus.

ok  USC-2

ok  USC-3

 

Description

Get or set a defocus value in bit. This defocus is applied on top of the current z-value of each point without further correction in X or Y. The defocus can be set even during marking and will be applied directly.

<Value>

 

Value: <int>

Function

empty

Get the defocus value.

Value

[-32768, 32767]

Set the defocus value.

Example

Command

Return

Note

DF

0: 100

Current defocus for Z is 100 bit.

DF -300

0:

Set -300 bit as new defocus.

Notes

Up to 2048 bit, the offset is set immediately. For values > 2048 bit, an overflow occurs to protect the scan head. If an overflow occurred, the scan head moves with 65 bit / 10µs to the new position.

We strongly recommend to use DF only with jobs without pen defocus.

Save

N/A

Restriction

The defocus of a job (pen) and the DF value are rivals. This means that the last set one of the 2 will overwrite the other. This can be either one depending on the exact structure of the job and job procedure.

We strongly recommend to use DF only with jobs without the defocus of the pen.

Errors

1: Too many parameters

8: Parameter out of range

17: Wrong parameter type

Table 58: DF

EH <HeadID> [<Enable>]

 

Enable one of the stored heads

ok  USC-2

ok  USC-3

 

Description

Enable or disable one of the three heads of the USC card. Heads need to be activated and stored in SAMLight or sc_setup before they can be addressed with this command.

<HeadID>

 

Value: <int>

Function

empty

Not available. This parameter is obligatory.

HeadNumber

[-1; 0; 1; 2]

Specify the head number which should be enabled/disabled. The parameter -1 addresses all stored heads.

<Enable>
[optional]

Value: <string>

Function

empty

Without this parameter, the state of the head of <HeadID> can be read.

0

Disable Head

1

Enable Head

Example

Command

Return

Note

EH 0 1

0:

Enable head 0.

EH 1 0

0:

Disable head 1.

EH 2 1

12:

Command not available. Maybe, head 2 has not been enabled and stored in sc_setup.

Notes

Only stored heads can be enabled/disabled with the EH command.

To address all heads with the FCI command EH, do the following:

oActivate all three Heads in SAMLight ->Settings -> System -> Optic -> Advanced -> Correction Settings.

oClick the Store button and reboot the USC card

Save

Changes are saved immediately.

Cannot be saved with SVG.

Restriction

Set: not allowed during marking

Errors

1: Too many parameters

2: Too few parameters

5: Not allowed during marking

8: Parameter out of range

12: Command not available

Table 59: EH

GCN <HeadID>

 

Get correction file name

ok  USC-2

ok  USC-3

 

Description

The command GCN returns the correction file name for the selected head. Get correction file name for one of the 3 available heads of the USC card.

<HeadID>

 

Value: <int>

Function

empty

Not available. This parameter is obligatory.

HeadNumber

[0; 1; 2]

Specify the head number for which the correction file should be set.

Example

Command

Return

Note

GCN 0

0: corfile.ucf

Get the name of the correction file of Head0.

GCN 3

8:

Parameter out of range. No HeadID = 3.

GCN

2:

Too few parameters. GCN needs a HeadID.

Notes

-

Save

N/A

Restriction

Set: not allowed during marking

Errors

1: Too many parameters

2: Too few parameters

5: Not allowed during marking

8: Parameter out of range

Table 60: GCN

GFS

 

Get field size [mm]

ok  USC-2

ok  USC-3

 

Description

Get the field size in mm which is currently stored on the USC-card.

Example

Command

Return

Note

GFS

0: 100

Get the field size stored on the card. Here, it is 100mm.

GFS 120

1:

Too many parameters. Read only command.

 

 

 

Notes

-

Save

N/A

Restriction

None

Errors

1: Too many parameters

Table 61: GFS

RT [<Angle>]

 

Get/Set rotation

ok  USC-2

ok  USC-3

 

Description

Get or set the rotation in degrees. The rotation influences the transformation matrix.

<Angle>

[optional]

Value: <float>

Function

empty

Get the angle of the rotation in degrees.

Angle

[-400; 400]

Set the angle for the rotation in degrees. The range is from -400° to 400°.

Example

Command

Return

Note

RT 45

0:

Rotate by 45 degrees.

RT -45

0:

Rotate by -45 degrees. This equals RT 315.

 

 

 

Notes

The rotation is defined in degrees.

The rotation center is the middle of the field.

The angle is defined counterclockwise.

RT -45 equals RT  315!

The Default value is 0.

Save

Changes are saved with SVG.

When not saved, changes are valid until the next reboot of the USC-Card.

Saved changes are restored with LDG.

Restriction

Set: not allowed during marking

Errors

1: Too many parameters

5: Not allowed during marking

8: Parameter out of range

17: Wrong parameter type

Table 62: RT

RTH [ <HeadID><Angle>]

 

Set head specific rotation

ok  USC-2

ok  USC-3

 

Description

Set the rotation in degrees. The rotation influences the transformation matrix.

<HeadID>

Value: <int>

Function

empty

Not available. This parameter is obligatory.

HeadNumber

[0; 1; 2]

Specify the head number for which the rotation should be set.

<Angle>

[optional]

Value: <float>

Function

empty

Not available. This parameter is obligatory.

Angle

[-400; 400]

Set the angle for the rotation in degrees. The range is from -400° to 400°.

Example

Command

Return

Note

RTH 0 45

0:

Rotate by 45 degrees for Head0

RT 0 -45

0:

Rotate by -45 degrees for Head0. This equals RT 315.

Notes

The rotation is defined in degrees.

The rotation center is the middle of the field.

The angle is defined counterclockwise.

RT -45 equals RT  315!

The default value is 0.

This command can only be used to set the head specific rotation. Getting the values set by this command is not possible.

Save

N/A

Restriction

None

Errors

1: Too many parameters

2: Too few parameters

8: Parameter out of range

17: Wrong parameter type

Table 63: RTH

SC [<XScale> <YScale> <ZScale>]

 

Get/Set scaling

ok  USC-2

ok  USC-3

 

Description

Get or set the scaling. The scaling influences the transformation matrix.

<Xscale>

[optional]

 

Value: <float>

Function

empty

Get the current scaling factor for X, Y and Z.

Only available for <Yscale> and <Zscale> empty.

Xscale

[-100; 100]

Set the scaling of the X dimension. This parameter needs the parameters <Yscale> and <Zscale>.

<Yscale>

[optional]

Value: <float>

Function

empty

Get the current scaling factor for X, Y and Z.

Only available for <Xscale> and <Zscale> empty.

Yscale

[-100; 100]

Set the scaling of the Y dimension. This parameter needs the parameters <Xscale> and <Zscale>.

<Zscale>

[optional]

Value: <float>

Function

empty

Get the current scaling factor for X, Y and Z.

Only available for <Xscale> and <Yscale>empty.

Zscale

[-100; 100]

Set the scaling of the Z dimension. This parameter needs the parameters <Xscale> and <Yscale>.

Example

Command

Return

Note

SC

0: 1.000 1.000 1.000

Get the scaling factors for X, Y and Z. The default is 1 for each dimension.

SC 0.9 0.8 1.5

0:

Scale in X by a factor of 0.9, in Y by a factor of 0.8 and in Z by a factor of 1.5.

SC 3 2

2:

Too few parameters. Xscale, Yscale and Zscale need to be set together.

Notes

-

Save

Changes are saved with SVG.

When not saved, changes are valid until the next reboot of the USC-Card.

Saved changes are restored with LDG.

Restriction

Set: not allowed during marking

Errors

1: Too many parameters

2: Too few parameters

3: Unknown command

5: Not allowed during marking

8: Parameter out of range

17: Wrong parameter type

Table 64: SC

SCN <HeadID> <File>

 

Set correction file name

ok  USC-2

ok  USC-3

 

Description

Set a correction file for one of the 3 available heads of the USC-Card. This command allows to switch the correction file in standalone mode.The new correction file must already be on the flash memory.

<HeadID>

 

Value: <int>

Function

empty

Not available. This parameter is obligatory.

HeadNumber

[0; 1; 2]

Specify the head number for which the correction file should be set.

<File>

Value: <string>

Function

empty

Not available. This parameter is obligatory.

FileName

Set the name of the correction file with extension, e.g. cor_neutral.ucf.

Example

Command

Return

Note

SCN 0 cor.ucf

0:

Assign 'ftp://USC-3-IP/cor/cor.ucf' as correction file for head 0

SCN 3 cor.ucf

8:

Parameter out of range. No HeadID = 3.

SCN 1 Not.ucf

15:

File not found. Check if the correction file "Not.ucf" is on the flash memory.

Notes

The new correction file must already be on the flash memory. This can be done with

oUSC-2: FTP: ftp://USC-2-IP/cor/

oUSC-3: FTP: ftp://USC-3-IP/cor/

The FlashMode flag 0x4000000 disables the correction file clean up of the sc_usc_server.

If the addressed correction file does not exist the error message 9 'Internal error' will be returned.

Save

Changes are saved immediately.

Restriction

Set: not allowed during marking

Errors

1: Too many parameters

2: Too few parameters

5: Not allowed during marking

8: Parameter out of range

9: Internal error

15: File not found

Table 65: SCN

TMB [<M00> <M01> <M02> <M10> <M11> <M12>]

 

Get/Set transformation matrix

ok  USC-2

ok  USC-3

 

Description

Get/Set the transformation matrix. This command has 6 optional parameters, one for each entry of the transformation matrix. To set the matrix, all 6 parameters are needed.

<M00>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

[-100, 100]

Set the transformation matrix element M00. Needs all other parameters.

<M01>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

[-100, 100]

Set the transformation matrix element M01. Needs all other parameters.

<M02>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

[-100, 100]

Set the transformation matrix element M02. Needs all other parameters.

<M10>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

[-100, 100]

Set the transformation matrix element M10. Needs all other parameters.

<M11>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

[-100, 100]

Set the transformation matrix element M11. Needs all other parameters.

<M12>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

[-100, 100]

Set the transformation matrix element M12. Needs all other parameters.

Example

Command

Return

Note

TMB

0:1 0 0 0 1 0

Get transformation matrix elements. Default values are: M00=M11=1, M01=M02=M10=M12=0

TMB 0.9 0 2000 0 0.8 1000

0:

Scales by a factor of 0.9 in X and of 0.8 in Y. Translate in X by 2000 and in Y by 1000 bits.

Notes

The offset parameters M02, M12 are denoted in bits.

The global transformation matrix applies to all vectors in the following form:

Xnew = Xold*M00 + Yold*M01 + M02

Ynew = Xold*M10 + Yold*M11 + M12

Transformation matrix elements:

M

0

1

2

0

Xscale * cos (RT)

-Yscale * sin (RT)

TRB1

1

Xscale * sin (RT)

Yscale * cos (RT)

TRB2

Table 66: Transformation matrix elements

Save

Changes are valid until the next reboot of the USC-Card.

Default settings can be restored with LDG.

Restriction

Set: not allowed during marking

Errors

1: Too many parameters

2: Too few parameters

5: Not allowed during marking

8: Parameter out of range

17: Wrong parameter type

Table 67: TMB

TMH [<HeadID> <M00> <M01> <M02> <M10> <M11> <M12>]

 

Get/Set the head-specific transformation matrix

ok  USC-2

ok  USC-3

 

Description

Get/Set the head specific transformation matrix. This command has 7 parameters, one for the head ID and one for each entry of the transformation matrix. To set the matrix, all 7 parameters are needed.

<HeadID>

Value: <int>

Function

empty

Not available. This parameter is obligatory.

HeadNumber

[0; 1; 2]

Specify the head number for which the transformation matrix should be set/get.

<M00>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

 

Set the transformation matrix element M00. Needs all other parameters.

<M01>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

 

Set the transformation matrix element M01. Needs all other parameters.

<M02>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

 

Set the transformation matrix element M02. Needs all other parameters.

<M10>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

 

Set the transformation matrix element M10. Needs all other parameters.

<M11>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

 

Set the transformation matrix element M11. Needs all other parameters.

<M12>

[optional]

Value: <float>

Function

empty

Without any parameters: get all transformation matrix elements.

MatrixElement

 

Set the transformation matrix element M12. Needs all other parameters.

Example

Command

Return

Note

TMH 0

0: 0 1 0 0 0 1 0

Get transformation matrix elements of Head0. Default values are: M00=M11=1, M01=M02=M10=M12=0

TMH 0 0.64 -0.7 2000 0.64 0.7 1000

0:

Scales the values Head0 by a factor of 0.9 in X and of 1 in Y. Translate in X by 2000 and in Y by 1000 bits. Sets a rotation of 45°.

Notes

The offset parameters M02, M12 are denoted in bits.

The global transformation matrix applies to all vectors in the following form:

Xnew = Xold*M00 + Yold*M01 + M02

Ynew = Xold*M10 + Yold*M11 + M12

Transformation matrix elements:

M

0

1

2

0

X_Head_gain * cos (Head_Angle)

-Y_Head_gain * sin (Head_Angle)

X_Head_Offset

1

X_Head_gain * sin (Head_Angle)

Y_Head_gain * cos (Head_Angle)

Y_Head_Offset

Table 68: Transformation matrix elements

For settings without flip or invert, Head_Angle corresponds to the value entered in the RTH command, and X/Y_Head_Offset correspond to X/Y_Trans from the TRH command.

Up to 2048 bit, the offset is set immediately. For values > 2048 bit, an overflow occurs to protect the scan head. If an overflow occurred, the scan head moves with 65 bit / 10µs to the new position.

Save

N/A

Restriction

None

Errors

1: Too many parameters

2: Too few parameters

5: Not allowed during marking

8: Parameter out of range

17: Wrong parameter type

Table 69: TMH

TRB [<XTrans> <YTrans> <ZTrans>]

 

Get/Set translation [bits]

ok  USC-2

ok  USC-3

 

Description

Get or set the general translation in bits.

<XTrans>

[optional]

 

Value: <int>

Function

empty

Without any parameters the X, Y and Z translation is given in bit.

XTrans

[-32768; 32767]

Set the X translation in bit. This parameter needs the parameters <Ytrans> and <Ztrans>.

<YTrans>

[optional]

Value: <int>

Function

empty

Without any parameters the X, Y and Z translation is given in bit.

YTrans

[-32768; 32767]

Set the Y translation in bit. This parameter needs the parameters <Xtrans> and <Ztrans>.

<ZTrans>

[optional]

Value: <int>

Function

empty

Without any parameters the X, Y and Z translation is given in bit.

ZTrans

[-32768; 32767]

Set the Z translation in bit. This parameter needs the parameters <Xtrans> and <Ytrans>.

Example

Command

Return

Note

TRB

0: 0 0 0

Get the general translation in bit. The default is 0 0 0.

TRB 1000 –5000 0

0:

Translates in X by 1000 in Y by –5000 and in Z by 0

Notes

The translation vector is defined in bit.
Offset [bit] = Offset [mm] / FieldSize [mm] * 65535 [bit]

The default value for XTrans, YTrans and ZTrans is 0.

USC-3: For Optic3D systems ZTrans works since USC-3 firmware version USC3_REL_20210715_70 (included in SAMLight installer REL_4_0_5_20210715_0037). The Z values are mapped by the USC Z bit value calculation.

Only the last send TRB command will be used

Save

Changes are saved with SVG globally.

Changes are saved with JS job specifically.

Globally saved changes are restored with LDG.

When not saved, changes are valid until the next reboot of the USC-Card.

Restriction

Set: not allowed during marking

Errors

1: Too many parameters

2: Too few parameters

5: Not allowed during marking

8: Parameter out of range

17: Wrong parameter type

Table 70: TRB

TRH <HeadID> [<XTrans> <YTrans>]

 

Get/Set head specific translation [bits]

ok  USC-2

ok  USC-3

 

Description

Get or set the head specific translation in bits.

<HeadID>

 

Value: <int>

Function

empty

Not available. This parameter is obligatory.

HeadNumber

[0; 1; 2]

Specify the head number for information on the translation or for executing a translation.

<XTrans>

[optional]

Value: <int>

Function

empty

Get the X transformation in bits for the head specified with <HeadID>.

XTrans

[-32768; 32767]

Set the X translation in bits for the head specified with <HeadID>.

<YTrans>

[optional]

Value: <int>

Function

empty

Get the Y transformation in bits for the head specified with <HeadID>.

YTrans

[-32768; 32767]

Set the Y translation in bits for the head specified with <HeadID>.

Example

Command

Return

Note

TRH 0

0: 0 0

Get the X and Y translation for Head 0. The default is 0 0.

TRH 1 33 -9

0:

Set the translation of Head 1 to X = 33 bit and Y = -9 bit.

Notes

The translation vector is defined in bit.
Offset [bit] = Offset [mm] / FieldSize [mm] * 65535 [bit]

Up to 2048 bit, the offset is set immediately. For values > 2048, an overflow occurs to protect the scan head. If an overflow occurred, the scan head moves with 65 bit / 10µs to the new position.

Only the last send TRH command for each head will be used.

Save

N/A

Restriction

None

Errors

1: Too many parameters

2: Too few parameters

8: Parameter out of range

17: Wrong parameter type

Table 71: TRH

 

All the transformation commands act on the global transformation matrix. The commands directly set the corresponding values of the transformation matrix. The transformation matrix elements are computed as shown in the tables above. But in most cases, it would be the best to use the corresponding commands for setting the scale, rotation and translation values.