Data |
For the SetDataSource command, the DataSource selector parameter occupies the lower 8 bits of the 16-bit command-parameter pair within the 20-bit transmission frame.
public enum DataSource
| Member name | Description |
|---|---|
| StatusWord | XY2-100-Enhanced status as 2 * 8 flag bits. Response: 16-bit unsigned See also: CompatibleStatusWord. |
| CurrentPosition | Current position of galvo. Response: see above. |
| TargetPosition | Last commanded position for galvo. Response: see above. |
| PositionError | (TargetPosition - CurrentPosition). Response: see above. |
| OutputCurrent | Output current to galvo in mA. Response: 16-bit signed |
| RelativeOutputCurrent | Output current to galvo in ‰ (parts-per-thousand) relative to 10A. Response: 16-bit signed |
| CurrentVelocity | Current angular velocity of galvo in bit/ms. Response: 16-bit signed |
| GalvoTemperature | Temperature of galvo in degC/10. Response: 16-bit signed |
| ServoBoardTemperature | Temperature on servo board in degC/10. Response: 16-bit signed |
| PDAGCVoltage | Position detector AGC voltage in V/100. Response: 16-bit signed |
| DSPCoreVoltage | DSP core voltage in V/100. Response: 16-bit signed |
| DSPIOVoltage | DSP IO voltage in V/100. Response: 16-bit signed |
| AnalogSupplyVoltage | Analog section supply voltage in V/100. Response: 16-bit signed |
| ADCSupplyVoltage |
(SS-III) ADC supply voltage in V/100. Response: 16-bit signed |
| MainSupplyVoltage |
(SS-IV, SS-V) Main supply voltage in V/100. Response: 16-bit signed |
| PDAGCCurrent | Position detector AGC current in mA. Response: 16-bit signed |
| RelativeHeatingOutput | Heating output of galvo in ‰ (parts-per-thousand). |
| SerialNumberLow | Serial number, low word. Response: 16-bit unsigned |
| SerialNumberHigh | Serial number, high word. Response: 16-bit unsigned |
| ArticleNumberLow | Article number, low word. Response: 16-bit unsigned |
| ArticleNumberHigh | Article number, high word. Response: 16-bit unsigned |
| FirmwareVersion | Firmware version number. Response: 16-bit unsigned |
| CalibrationFactor | Calibration factor in bits/mrad. Response: 16-bit unsigned |
| Aperture | Aperture size in mm. Response: 16-bit unsigned |
| Wavelength | Wavelength in nm. Response: 16-bit unsigned |
| TuningSelectors | Current and startup tuning selectors as 2 * 8-bit unsigned values. Response: 16-bit unsigned |
| DataSourceSelectors | Current and startup data source selectors as 2 * 8-bit unsigned values. Response: 16-bit unsigned |
| StateFlagsLow | Current operational state flags, low word. Response: 16-bit unsigned |
| StateFlagsHigh | Current operational state flags, high word. Response: 16-bit unsigned |
| StopEventCode | Stop event code flag bits. Response: 16-bit unsigned |
| StopFlagsLow | Operational flags at last stop event, low word. Response: 16-bit unsigned |
| StopFlagsHigh | Operational flags at last stop event, high word. Response: 16-bit unsigned |
| RunningTimeSeconds | Cumulative service time counter, seconds. Response: 16-bit unsigned |
| RunningTimeMinutes | Cumulative service time counter, minutes. Response: 16-bit unsigned |
| RunningTimeHours | Cumulative service time counter, hours. Response: 16-bit unsigned |
| RunningTimeDays | Cumulative service time counter, days. Response: 16-bit unsigned |
| PositionScale | Current position scale factor. Response: 16-bit unsigned |
| PositionAcknowledgeLevel | Current position acknowledge level. Response: 16-bit unsigned |
| CompatibleStatusWord | XY2-100 compatible (legacy) status as 2 * 8 flag bits. Response: 16-bit unsigned See also: StatusWord. |
| InterpolationTimeConfiguration |
Current and startup interpolation times as 2 * 8-bit unsigned values. Response: 16-bit unsigned |
| MirrorTiltAngle |
Current and startup mirror tilt angles as 2 * 8-bit unsigned values. Response: 16-bit unsigned |
The response format for almost all DataSources is: 16-bits, signed or unsigned as appropriate, left-aligned in a 20-bit field.
// NB: we assume the use of suitable commands here... uint[] responses = client.ScannerCommunication.TransceiveEnhanced(head, axes, commands, timeoutMs); short signedDataValue = (short)(responses[0] >> 4); ushort unsignedDatavalue = (ushort)(responses[1] >> 4);
A few DataSources return positions in their responses:
These are all signed values, with 16 or 20 significant bits, left-aligned in a 20-bit field.
// NB: we assume the use of suitable commands here... uint[] responses = client.ScannerCommunication.TransceiveEnhanced(head, axes, commands, timeoutMs); short position16bit = (short)(responses[0] >> 4); int position20bit = ((int)(responses[0] << 12)) >> 12; // sign-extension trick // // NB: the sign-extension trick extracts the raw 20-bit signed position // from the surrounding unsigned 32-bit response frame, // and converts it into a signed 32-bit signed int value.