From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Lab::Moose::Instrument::AttoCube_AMC

VERSION

version 3.920

AttoCube AMC300

Here very nice documentation will follow soon. In the meantime, please be warned that the driver is new, under construction, and still very experimental. Part of the code is autogenerated based on the device documentation.

Autogenerated code

The code below was automatically generated. Please use carefully!

getLockStatus

This function returns if the device is locked and if the current client is authorized to use the device.

Arguments:
Returns:
errorCode
locked
Is the device locked?
authorized
Is the client authorized?
JSON Method

grantAccess

Grants access to a locked device for the requesting IP by checking against the password

Arguments:
password
string the current password
Returns:
errorCode
JSON Method

lock

This function locks the device with a password, so the calling of functions is only possible with this password. The locking IP is automatically added to the devices which can access functions

Arguments:
password
string the password to be set
Returns:
errorCode
JSON Method

unlock

This function unlocks the device, so it will not be necessary to execute the grantAccess function to run any function

Arguments:
password
string the current password
Returns:
errorCode
JSON Method

getLowerSoftLimit

Gets the lower boundary of the soft limit protection. This protection is needed if the IDS working range is smaller than the positioners travel range. It is no hard limit, so, it is possible to overshoot it!

Arguments:
axis
Axis of the AMC to get the soft limit status from
Returns:
int32
Error number if one occured, 0 in case of no error
limit
double
Lower boundary in pm
JSON Method

getSoftLimitEnabled

Gets whether the soft limit protection is enabled. This protection is needed if the IDS working range is smaller than the positioners travel range. It is no hard limit, so, it is possible to overshoot it!

Arguments:
axis
Axis of the AMC to get the soft limit status from
Returns:
int32
Error number if one occured, 0 in case of no error
enabled
boolean
True, if the soft limit should be enabled on this axis
JSON Method

getSoftLimitReached

Gets whether the current position is out of the soft limit boundaries. This protection is needed if the IDS working range is smaller than the positioners travel range. It is no hard limit, so, it is possible to overshoot it!

Arguments:
axis
Axis of the AMC to get the soft limit status from
Returns:
int32
Error number if one occured, 0 in case of no error
enabled
boolean
True, if the position is not within the boundaries
JSON Method

getUpperSoftLimit

Gets the upper lower boundary of the soft limit protection. This protection is needed if the IDS working range is smaller than the positioners travel range. It is no hard limit, so, it is possible to overshoot it!

Arguments:
axis
Axis of the AMC to get the soft limit status from
Returns:
int32
Error number if one occured, 0 in case of no error
limit
double
Upper boundary in pm
JSON Method

resetIdsAxis

Resets the position value to zero of a specific measurement axis. Use this for positioners with an IDS as sensor. This method does not work for NUM and RES sensors. Use com.attocube.amc.control.resetAxis instead.

Arguments:
axis
Axis of the IDS to reset the position
Returns:
int32
Error number if one occured, 0 in case of no error
JSON Method

setLowerSoftLimit

Sets the lower boundary of the soft limit protection in pm. This protection is needed if the IDS working range is smaller than the positioners travel range. It is no hard limit, so, it is possible to overshoot it!

Arguments:
axis
Axis of the AMC where the soft limit should be changed
limit
Lower boundary in pm
Returns:
int32
Error number if one occured, 0 in case of no error
JSON Method

setSoftLimitEnabled

Enables/disables the soft limit protection. This protection is needed if the IDS working range is smaller than the positioners travel range. It is no hard limit, so, it is possible to overshoot it!

Arguments:
axis
Axis of the AMC where the soft limit should be changed
enabled
True, if the soft limit should be enabled on this axis
Returns:
int32
Error number if one occured, 0 in case of no error
JSON Method

setUpperSoftLimit

Sets the upper boundary of the soft limit protection in pm. This protection is needed if the IDS working range is smaller than the positioners travel range. It is no hard limit, so, it is possible to overshoot it!

Arguments:
axis
Axis of the AMC where the soft limit should be changed
limit
Upper boundary in pm
Returns:
int32
Error number if one occured, 0 in case of no error
JSON Method

MultiAxisPositioning

Simultaneously set 3 axes positions and get positions to minimize network latency

Arguments:
set1
axis1 otherwise pos1 target is ignored
set2
axis2 otherwise pos2 target is ignored
set3
axis3 otherwise pos3 target is ignored
target1
target position of axis 1
target2
target position of axis 2
target3
target position of axis 3
Returns:
ref1
Status of axis 1
ref2
Status of axis 2
ref3
Status of axis 3
refpos1
reference Position of axis 1
refpos2
reference Position of axis 2
refpos3
reference Position of axis 3
pos1
position of axis 1
pos2
position of axis 2
pos3
position of axis 3
JSON Method

getActorName

This function gets the name of the positioner of the selected axis.

Arguments:
axis
[0|1|2]
Returns:
actor_name
actor_name
JSON Method

getActorParametersActorName

Control the actors parameter: actor name

Arguments:
axis
[0|1|2]
Returns:
actorname
actorname
JSON Method

getActorSensitivity

Get the setting for the actor parameter sensitivity

Arguments:
axis
[0|1|2]
Returns:
sensitivity
sensitivity
JSON Method

getActorType

This function gets the type of the positioner of the selected axis.

Arguments:
axis
[0|1|2]
Returns:
actor_type
0: linear, 1: rotator, 2: goniometer
JSON Method

getAutoMeasure

This function returns if the automeasurement on axis enable is enabled

Arguments:
axis
[0|1|2]
Returns:
enable
true: enable automeasurement, false: disable automeasurement
JSON Method

getControlAmplitude

This function gets the amplitude of the actuator signal of the selected axis.

Arguments:
axis
[0|1|2]
Returns:
amplitude
in mV
JSON Method

getControlAutoReset

This function resets the position every time the reference position is detected.

Arguments:
axis
[0|1|2]
Returns:
enabled
boolean
JSON Method

getControlFixOutputVoltage

This function gets the DC level output of the selected axis.

Arguments:
axis
[0|1|2]
Returns:
amplitude_mv
in mV
JSON Method

getControlFrequency

This function gets the frequency of the actuator signal of the selected axis.

Arguments:
axis
[0|1|2]
Returns:
frequency
in mHz
JSON Method

getControlMove

This function gets the approach of the selected axis’ positioner to the target position.

Arguments:
axis
[0|1|2]
Returns:
enable
boolean true: closed loop control enabled, false: closed loop control
disabled
JSON Method

getControlOutput

This function gets the status of the output relays of the selected axis.

Arguments:
axis
[0|1|2]
Returns:
enabled
power status (true = enabled,false = disabled)
JSON Method

getControlReferenceAutoUpdate

This function gets the status of whether the reference position is updated when the reference mark is hit. When this function is disabled, the reference marking will be considered only the first time and after then ignored.

Arguments:
axis
[0|1|2]
Returns:
enabled
boolen
JSON Method

getControlTargetRange

This function gets the range around the target position in which the flag "In Target Range" becomes active.

Arguments:
axis
[0|1|2]
Returns:
targetrange
in nm
JSON Method

getCrosstalkThreshold

This function gets the threshold range and slip phase time which is used while moving another axis

Arguments:
axis
[0|1|2]
Returns:
range
in pm
time
after slip phase which is waited until the controller is acting again in
microseconds
JSON Method

getCurrentOutputVoltage

This function gets the current Voltage which is applied to the Piezo

Arguments:
axis
[0|1|2]
Returns:
amplitude
in mV
JSON Method

getExternalSensor

This function gets whether the sensor source of closed loop is IDS It is only available when the feature AMC/IDS closed loop has been activated

Arguments:
axis
[0|1|2]
Returns:
enabled
enabled
JSON Method

getFinePositioningRange

This function gets the fine positioning DC-range

Arguments:
axis
[0|1|2]
Returns:
range
in nm
JSON Method

getFinePositioningSlewRate

This function gets the fine positioning slew rate

Arguments:
axis
[0|1|2]
Returns:
slewrate
[0|1|2|3]
JSON Method

getMotionControlThreshold

This function gets the threshold range within the closed-loop controlled movement stops to regulate.

Arguments:
axis
[0|1|2]
Returns:
threshold
in pm
JSON Method

getPositionsAndVoltages

Simultaneously get 3 axes positions as well as the DC offset to maximize sampling rate over network

Arguments:
Returns:
pos1
position of axis 1
pos2
position of axis 2
pos3
position of axis 3
val1
dc voltage of of axis 1 in mV
val2
dc voltage of of axis 2 in mV
val3
dc voltage of of axis 3 in mV
JSON Method

getReferencePosition

This function gets the reference position of the selected axis.

Arguments:
axis
[0|1|2]
Returns:
position
position: For linear type actors the position is defined in nm for
goniometer an rotator type actors it is µ°.
JSON Method

getSensorDirection

This function gets whether the IDS sensor source of closed loop is inverted It is only available when the feature AMC/IDS closed loop has been activated

Arguments:
axis
[0|1|2]
Returns:
inverted
boolen
JSON Method

getSensorEnabled

Get sensot power supply status

Arguments:
axis
[0|1|2]
Returns:
value
true if enabled, false otherwise
JSON Method

getStatusMovingAllAxes

Get Status of all axes, see getStatusMoving for coding of the values

Arguments:
Returns:
moving1
status of axis 1
moving2
status of axis 2
moving3
status of axis 3
JSON Method

searchReferencePosition

This function searches for the reference position of the selected axis.

Arguments:
axis
[0|1|2]
Returns:
JSON Method

setActorParametersByName

This function sets the name for the positioner on the selected axis. The possible names can be retrieved by executing getPositionersList

Arguments:
axis
[0|1|2]
actorname
name of the actor
Returns:
JSON Method

setActorParametersJson

Select and override a positioner out of the Current default list only override given parameters set others default

Arguments:
axis
[0|1|2]
json_dict
dict with override params
Returns:
errorCode
JSON Method

setActorSensitivity

Control the actor parameter closed loop sensitivity

Arguments:
axis
[0|1|2]
sensitivity
Returns:
JSON Method

setAutoMeasure

This function enables/disables the automatic C/R measurement on axis enable

Arguments:
axis
[0|1|2]
enable
true: enable automeasurement, false: disable automeasurement
Returns:
JSON Method

setControlAmplitude

This function sets the amplitude of the actuator signal of the selected axis.

Arguments:
axis
[0|1|2]
amplitude
in mV
Returns:
JSON Method

setControlAutoReset

This function resets the position every time the reference position is detected.

Arguments:
axis
[0|1|2]
enable
boolean
Returns:
JSON Method

setControlFixOutputVoltage

This function sets the DC level output of the selected axis.

Arguments:
axis
[0|1|2]
amplitude_mv
in mV
Returns:
JSON Method

setControlFrequency

This function sets the frequency of the actuator signal of the selected axis. Note: Approximate the slewrate of the motion controller according to Input Frequency

Arguments:
axis
[0|1|2]
frequency
in mHz
Returns:
JSON Method

setControlMove

This function sets the approach of the selected axis’ positioner to the target position.

Arguments:
axis
[0|1|2]
enable
boolean true: eanble the approach , false: disable the approach
Returns:
JSON Method

setControlOutput

This function sets the status of the output relays of the selected axis. Enable only if cable is connected and FlyBack is enabled use a PWM startup of 1sec

Arguments:
axis
[0|1|2]
enable
true: enable drives, false: disable drives
Returns:
JSON Method

setControlReferenceAutoUpdate

This function sets the status of whether the reference position is updated when the reference mark is hit. When this function is disabled, the reference marking will be considered only the first time and after then ignored.

Arguments:
axis
[0|1|2]
enable
boolean
Returns:
JSON Method

setControlTargetRange

This function sets the range around the target position in which the flag "In Target Range" (see VIII.7.a) becomes active.

Arguments:
axis
[0|1|2]
range
in nm
Returns:
JSON Method

setCrosstalkThreshold

This function sets the threshold range and slip phase time which is used while moving another axis

Arguments:
axis
[0|1|2]
threshold
in pm
slipphasetime
time after slip phase which is waited until the controller is acting
again in microseconds
Returns:
JSON Method

setExternalSensor

This function sets the sensor source of closed loop to the IDS when enabled. Otherwise the normal AMC Sensor depending on the configuration (e.g. NUM or RES) is used It is only available when the feature AMC/IDS closed loop has been activated

Arguments:
axis
[0|1|2]
enabled
Returns:
warningNo
Warning code, can be converted into a string using the
errorNumberToString function
JSON Method

setFinePositioningRange

This function sets the fine positioning DC-range

Arguments:
axis
[0|1|2]
range
in nm
Returns:
JSON Method

setFinePositioningSlewRate

This function sets the fine positioning slew rate

Arguments:
axis
[0|1|2]
slewrate
[0|1|2|3]
Returns:
JSON Method

setMotionControlThreshold

This function sets the threshold range within the closed-loop controlled movement stops to regulate. Default depends on connected sensor type

Arguments:
axis
[0|1|2]
threshold
in pm
Returns:
JSON Method

setReset

This function resets the actual position of the selected axis given by the NUM sensor to zero and marks the reference position as invalid. It does not work for RES positioners and positions read by IDS. For IDS, use com.attocube.ids.displacement.resetAxis() or com.attocube.amc.amcids.resetIdsAxis() instead.

Arguments:
axis
[0|1|2]
Returns:
JSON Method

setSensorDirection

This function sets the IDS sensor source of closed loop to inverted when true. It is only available when the feature AMC/IDS closed loop has been activated

Arguments:
axis
[0|1|2]
inverted
Returns:
JSON Method

setSensorEnabled

Set sensor power supply status, can be switched off to save heat generated by sensor [NUM or RES] Positions retrieved will be invalid when activating this, so closed-loop control should be switched off beforehand

Arguments:
axis
[0|1|2]
value
true if enabled, false otherwise
Returns:
JSON Method

checkChassisNbr

Get Chassis and Slot Number, only works when AMC is within a Rack

Arguments:
Returns:
errorCode
slotNbr
slotNbr
chassisNbr
chassisNbr
JSON Method

getDeviceType

This function gets the device type based on its EEPROM configuration.

Arguments:
Returns:
devicetype
Device name (AMC100, AMC150, AMC300) with attached feature
( AMC100\\NUM, AMC100\\NUM\\PRO)
JSON Method

getFeaturesActivated

Get the activated features and return as a string

Arguments:
Returns:
features
activated on device concatenated by comma e.g. Closed loop
Operation, Pro, Wireless Controller, IO
JSON Method

getPositionersList

This function reads the actor names that can be connected to the device.

Arguments:
Returns:
PositionersList
PositionersList
JSON Method

getDiagnosticPower

Returns the current power consumption

Arguments:
axis
[0|1|2]
Returns:
power
power
JSON Method

getDiagnosticResults

Returns the results of the last diagnostic run and an error, if there was no run, it is currently running or the run failed

Arguments:
axis
[0|1|2]
Returns:
capacity
in nF
resistance
in Ohm
JSON Method

getDiagnosticStepSize

Performs 10 steps in forward and backward and calculates the average step size in both directions on a specific axis

Arguments:
axis
[0|1|2]
Returns:
stepsize_fwd
stepsize_fwd
stepsize_bwd
stepsize_bwd
JSON Method

getDiagnosticTemperature

Returns the current axis temperature

Arguments:
axis
[0|1|2]
Returns:
temperature
temperature
JSON Method

startDiagnostic

Start the diagnosis procedure for the given axis

Arguments:
axis
[0|1|2]
Returns:
JSON Method

getControlContinuousBkwd

This function gets the axis’ movement status in backward direction.

Arguments:
axis
[0|1|2]
Returns:
enabled
true if movement backward is active , false otherwise
JSON Method

getControlContinuousFwd

This function gets the axis’ movement status in positive direction.

Arguments:
axis
[0|1|2]
Returns:
enabled
true if movement Fwd is active, false otherwise
JSON Method

getControlEotOutputDeactive

This function gets the output applied to the selected axis on the end of travel. /PRO feature.

Arguments:
axis
[0|1|2]
Returns:
enabled
If true, the output of the axis will be deactivated on positive EOT
detection.
JSON Method

getControlTargetPosition

This function gets the target position for the movement on the selected axis.

Arguments:
axis
[0|1|2]
Returns:
position
defined in nm for goniometer an rotator type actors it is µ°.
JSON Method

getGroundAxis

Checks if the axis piezo drive is actively grounded only in AMC300

Arguments:
axis
montion controler axis [0|1|2]
Returns:
0 or error
grounded
true or false
JSON Method

getGroundAxisAutoOnTarget

Pull axis piezo drive to GND if positioner is in ground target range only in AMC300

Arguments:
axis
montion controler axis [0|1|2]
Returns:
0 or error
value
true or false
JSON Method

getGroundTargetRange

Retrieves the range around the target position in which the auto grounding becomes active. only in AMC300

Arguments:
axis
[0|1|2]
Returns:
targetrange
in nm
JSON Method

getNSteps

This function gets the number of Steps in desired direction.

Arguments:
axis
[0|1|2]
Returns:
nbrstep
nbrstep
JSON Method

getPosition

This function gets the current position of the positioner on the selected axis. The axis on the web application are indexed from 1 to 3

Arguments:
axis
[0|1|2]
Returns:
position
defined in nm for goniometer an rotator type actors it is µ°.
JSON Method

moveReference

This function starts an approach to the reference position. A running motion command is aborted; closed loop moving is switched on. Requires a valid reference position.

Arguments:
axis
[0|1|2]
Returns:
JSON Method

performNSteps

Perform the OL command for N steps

Arguments:
axis
[0|1|2]
backward
Selects the desired direction. False triggers a forward step, true a
backward step
Returns:
JSON Method

setControlContinuousBkwd

This function sets a continuous movement on the selected axis in backward direction.

Arguments:
axis
[0|1|2]
enable
If enabled a present movement in the opposite direction is stopped.
The parameter "false" stops all movement of the axis regardless its
direction
Returns:
JSON Method

setControlContinuousFwd

This function sets a continuous movement on the selected axis in positive direction.

Arguments:
axis
[0|1|2]
enable
If enabled a present movement in the opposite direction is stopped.
The parameter "false" stops all movement of the axis regardless its
direction.
Returns:
JSON Method

setControlEotOutputDeactive

This function sets the output applied to the selected axis on the end of travel.

Arguments:
axis
[0|1|2]
enable
if enabled, the output of the axis will be deactivated on positive
EOT detection.
Returns:
JSON Method

setControlTargetPosition

This function sets the target position for the movement on the selected axis. careful: the maximum positon in nm is 2**47/1000

Arguments:
axis
[0|1|2]
target
absolute position : For linear type actors the position is defined in
nm for goniometer an rotator type actors it is µ°.
Returns:
JSON Method

setGroundAxis

Pull axis piezo drive to GND actively only in AMC300 this is used in MIC-Mode

Arguments:
axis
motion controler axis [0|1|2]
enabled
true or false
Returns:
0 or error
JSON Method

setGroundAxisAutoOnTarget

Pull axis piezo drive to GND actively if positioner is in ground target range only in AMC300 this is used in MIC-Mode

Arguments:
axis
montion controler axis [0|1|2]
enabled
true or false
Returns:
0 or error
JSON Method

setGroundTargetRange

Set the range around the target position in which the auto grounding becomes active. only in AMC300

Arguments:
axis
[0|1|2]
range
in nm
Returns:
JSON Method

setNSteps

This function triggers n steps on the selected axis in desired direction. /PRO feature.

Arguments:
axis
[0|1|2]
backward
Selects the desired direction. False triggers a forward step, true a
backward step
step
number of step
Returns:
JSON Method

setSingleStep

This function triggers one step on the selected axis in desired direction.

Arguments:
axis
[0|1|2]
backward
Selects the desired direction. False triggers a forward step, true a
backward step
Returns:
JSON Method

writeNSteps

Sets the number of steps to perform on stepwise movement. /PRO feature.

Arguments:
axis
[0|1|2]
step
number of step
Returns:
JSON Method

getChainGain

Get chain gain, see setChainGain for parameter description

Arguments:
axis
number of axis
Returns:
gaincoeff
gaincoeff
JSON Method

getLinearization

Gets wether linearization is enabled or not

Arguments:
axis
[0|1|2]
Returns:
enabled
true when enabled
JSON Method

getLutSn

get the identifier of the loaded lookuptable (will be empty if disabled)

Arguments:
axis
[0|1|2]
Returns:
value_string1
string : identifier
JSON Method

res_getMode

Get mode of RES application, see setMode for the description of possible parameters

Arguments:
Returns:
mode
mode
JSON Method

getSensorStatus

Gets wether a valid RES position signal is present (always true for a disabled sensor and for rotators)

Arguments:
axis
[0|1|2]
Returns:
present
true when present
JSON Method

setChainGain

Set signal chain gain to control overall power

Arguments:
axis
number of axis
gainconfig
0: 0dB ( power 600mVpkpk^2/R), 1 : -10 dB , 2 : -15 dB , 3 : -20
dB
Returns:
JSON Method

setConfigurationFile

Load configuration file which either contains a JSON dict with parameters for the positioner on the axis or the LUT file itself (as legacy support for ANC350 .aps files)

Arguments:
axis
[0|1|2]
content
JSON Dictionary or .aps File.
The JSON Dictonary can/must contain the following keys:
'type': mandatory This field has to be one of the positioner list (see
getPositionersList)
'lut': optional, contains an array of 1024 LUT values that are a
mapping between ratio of the RES element travelled (0 to 1) and the
corresponding absolute value at this ratio given in [nm].
Note: when generating these tables with position data in absolute
units, the scaling of the travel ratio with the current sensor range has
to be reversed.
'lut_sn': optional, a string to uniquely identify the loaded LUT
Returns:
JSON Method

setLinearization

Control if linearization is enabled or not

Arguments:
axis
[0|1|2]
enable
boolean ( true: enable linearization)
Returns:
JSON Method

res_setMode

Sets the mode of the RES position measurement This selects which frequency/ies are used for the lock-in measurement of the RES position, currently there are two possibilities: 1: Individual per axis: each axis is measured on a different frequency; this mode reduces noise coupling between axes, while requiring more wiring 2: Shared line/MIC-Mode: each axis is measured on the same frequency, which reduces the number of required wires while more coupling noise is excpected

Arguments:
mode
1: Individual per axis 2: Shared line mode
Returns:
JSON Method

getControlTargetRanges

Checks if all three axis are in target range.

Arguments:
Returns:
int32
Error code, if there was an error, otherwise 0 for ok
in_target_range
boolean
true all three axes are in target range, false at least one axis is not
in target range
JSON Method

getEnabled

Gets the enabled status of the rotation compensation

Arguments:
Returns:
int32
Error code, if there was an error, otherwise 0 for ok
enabled
boolean
true Rotation compensation is enabled, false Rotation compensation
is disabled
JSON Method

getLUT

Gets the LUT file as JSON string

Arguments:
Returns:
int32
Error code, if there was an error, otherwise 0 for ok
lut
string
JSON string of the LUT file for the rotation compensation
JSON Method

setEnabled

Enables and disables the rotation compensation

Arguments:
enabled
true Rotation compensation is enabled, false Rotation compensation
is disabled
Returns:
int32
Error code, if there was an error, otherwise 0 for ok
JSON Method

setLUT

Sets the LUT file from a JSON string

Arguments:
lut_string
JSON string of the LUT file for the rotation compensation
Returns:
int32
Error code, if there was an error, otherwise 0 for ok
JSON Method

updateOffsets

Updates the start offsets of the axes

Arguments:
offset_axis0
Offset of axis 1 in [nm]
offset_axis1
Offset of axis 2 in [nm]
offset_axis2
Offset of axis 3 in [nm]
Returns:
int32
Error code, if there was an error, otherwise 0 for ok
JSON Method

rtin_apply

Apply all realtime input function

Arguments:
Returns:
JSON Method

rtin_discard

Discard all values beting set and not yet applieds

Arguments:
Returns:
JSON Method

getControlAQuadBInResolution

This function gets the AQuadB input resolution for setpoint parameter.

Arguments:
axis
[0|1|2]
Returns:
resolution
ion nm
JSON Method

getControlMoveGPIO

This function gets the status for real time input on the selected axis in closed-loop mode.

Arguments:
axis
[0|1|2]
Returns:
enable
boolean true: approach enabled , false: approach disabled
JSON Method

getGpioMode

get the GPIO mode for Mic Mode feature

Arguments:
Returns:
gpio_mode
gpio_mode: 0: Standard GPIO 1: NSL-/Mic-Mode
JSON Method

getNslMux

get the axis the NSL multiplexer is set to

Arguments:
mux_mode
[0|1|2|3]
0: Off
1: Axis 1
2: Axis 2
3: Axis 3
Returns:
JSON Method

getRealTimeInChangePerPulse

This function gets the change per pulse for the selected axis under real time input in the closed-loop mode.

Arguments:
axis
[0|1|2]
Returns:
resolution
to be added in current pos in nm
JSON Method

getRealTimeInFeedbackLoopMode

Get if the realtime function must operate in close loop operation or open loop operation

Arguments:
axis
[0|1|2]
Returns:
mode
0: open loop, 1 : close-loop
JSON Method

getRealTimeInMode

This function sets or gets the real time input mode for the selected axis.

Arguments:
axis
[0|1|2]
Returns:
mode
see `RT_IN_MODES`
JSON Method

getRealTimeInStepsPerPulse

Get the change in step per pulse of the realtime input when trigger and stepper mode is used

Arguments:
axis
[0|1|2]
Returns:
steps
number of steps to applied
JSON Method

setControlAQuadBInResolution

This function sets the AQuadB input resolution for setpoint parameter.

Arguments:
axis
[0|1|2]
resolution
ion nm
Returns:
JSON Method

setControlMoveGPIO

This function sets the status for real time input on the selected axis in closed-loop mode.

Arguments:
axis
[0|1|2]
enable
boolean true: eanble the approach , false: disable the approach
Returns:
JSON Method

setGpioMode

set the GPIO mode for Mic Mode feature

Arguments:
gpio_mode
[0|1]
0: Standard GPIO
1: NSL-/Mic-Mode
Returns:
JSON Method

setNslMux

set the axis the NSL multiplexer is set to

Arguments:
mux_mode
[0|1|2|3]
0: Off
1: Axis 1
2: Axis 2
3: Axis 3
Returns:
JSON Method

setRealTimeInChangePerPulse

This function sets the change per pulse for the selected axis under real time input in the closed-loop mode. only used in closed loop operation

Arguments:
axis
[0|1|2]
delta
to be added to current position in nm
Returns:
JSON Method

setRealTimeInFeedbackLoopMode

Set if the realtime function must operate in close loop operation or open loop operation

Arguments:
axis
[0|1|2]
mode
0: open loop, 1 : close-loop
Returns:
JSON Method

setRealTimeInMode

This function sets the real time input mode for the selected axis.

Arguments:
axis
[0|1|2]
mode
see `RT_IN_MODES` @see realtime
Returns:
JSON Method

setRealTimeInStepsPerPulse

Set the change in step per pulse of the realtime input when trigger and stepper mode is used only used in open loop operation

Arguments:
axis
[0|1|2]
steps
number of steps to applied
Returns:
JSON Method

rtout_apply

Apply for all rtout function

Arguments:
Returns:
JSON Method

applyAxis

Apply for rtout function of specific axis

Arguments:
axis
[0|1|2]
Returns:
JSON Method

rtout_discard

Discard all rtout value set by the set function(not applied yet)

Arguments:
Returns:
JSON Method

discardAxis

Discard rtout value of specific axis set by the set function(not applied yet)

Arguments:
axis
[0|1|2]
Returns:
JSON Method

discardSignalMode

Discard value set by setSignalMode

Arguments:
Returns:
JSON Method

getControlAQuadBOut

This function gets if of AQuadB output for position indication is enabled

Arguments:
axis
[0|1|2]
Returns:
enabled
boolean
JSON Method

getControlAQuadBOutClock

This function gets the clock for AQuadB output.

Arguments:
axis
[0|1|2]
Returns:
clock_in_ns
Clock in multiples of 20ns. Minimum 2 (40ns), maximum 65535
(1,310700ms)
JSON Method

getControlAQuadBOutResolution

This function gets the AQuadB output resolution for position indication.

Arguments:
axis
[0|1|2]
Returns:
resolution
in nm
JSON Method

rtout_getMode

Get Mode

Arguments:
axis
[0|1|2]
Returns:
mode
0: Off, 1: AquadB, 2: Trigger
JSON Method

getSignalMode

This function gets the real time output mode for the selected axis.

Arguments:
Returns:
mode
0: TTL, 1: LVDS
JSON Method

getTriggerConfig

Get the real time output trigger config

Arguments:
axis
[0|1|2]
Returns:
higher
upper limit in nm / µdeg
lower
lower limit in nm / µdeg
epsilon
hysteresis in nm / µdeg
polarity
0: active high, 1: active low
JSON Method

setControlAQuadBOutClock

This function sets the clock for AQuadB output.

Arguments:
axis
[0|1|2]
clock
Clock in multiples of 20ns. Minimum 2 (40ns), maximum 65535
(1,310700ms)
Returns:
JSON Method

setControlAQuadBOutResolution

This function sets the AQuadB output resolution for position indication.

Arguments:
axis
[0|1|2]
resolution
in nm
Returns:
JSON Method

rtout_setMode

Set the real time output signal mode

Arguments:
axis
[0|1|2]
mode
0: Off, 1: AquadB, 2: Trigger
Returns:
JSON Method

setSignalMode

This function sets the real time output mode for the selected axis.

Arguments:
mode
0: TTL, 1: LVDS
Returns:
JSON Method

setTriggerConfig

Control the real time output trigger config

Arguments:
axis
[0|1|2]
higher
upper limit in nm / µdeg
lower
lower limit in nm / µdeg
epsilon
hysteresis in nm / µdeg
polarity
0: active high, 1: active low
Returns:
JSON Method

getFullCombinedStatus

Get the full combined status of a positioner axis and return the status as a string (to be used in the Webapplication)

Arguments:
axis
[0|1|2]
Returns:
value_string1
string can be "moving","in target range", "backward limit
reached", "forward limit reached", "positioner not connected",
"grounded" (only AMC300), "output not enabled"
JSON Method

getOlStatus

Get the Feedback status of the positioner

Arguments:
axis
[0|1|2]
Returns:
sensorstatus
as integer 0: NUM Positioner connected 1: OL positioner
connected 2: No positioner connected , 3: RES positione connected
JSON Method

getStatusConnected

This function gets information about the connection status of the selected axis’ positioner.

Arguments:
axis
[0|1|2]
Returns:
connected
If true, the actor is connected
JSON Method

getStatusEot

Retrieves the status of the end of travel (EOT) detection in backward direction or in forward direction.

Arguments:
axis
[0|1|2]
Returns:
detected
true when EoT in either direction was detected
JSON Method

getStatusEotBkwd

This function gets the status of the end of travel detection on the selected axis in backward direction.

Arguments:
axis
[0|1|2]
Returns:
detected
true when EoT was detected
JSON Method

getStatusEotFwd

This function gets the status of the end of travel detection on the selected axis in forward direction.

Arguments:
axis
[0|1|2]
Returns:
detected
true when EoT was detected
JSON Method

getStatusMoving

This function gets information about the status of the stage output.

Arguments:
axis
[0|1|2]
Returns:
status
0: Idle, i.e. within the noise range of the sensor, 1: Moving, i.e the
actor is actively driven by the output stage either for closed-loop
approach or continous/single stepping and the output is active.
2 : Pending means the output stage is driving but the output is
deactivated
JSON Method

getStatusReference

This function gets information about the status of the reference position.

Arguments:
axis
[0|1|2]
Returns:
valid
true = valid, false = not valid
JSON Method

getStatusTargetRange

This function gets information about whether the selected axis’ positioner is in target range or not. The detection only indicates whether the position is within the defined range. This status is updated periodically but currently not in real-time. If a fast detection is desired, please check the position in a loop

Arguments:
axis
[0|1|2]
Returns:
in_range
true within the target range, false not within the target range
JSON Method

getInstalledPackages

Get list of packages installed on the device

Arguments:
Returns:
errorCode
value_string1
string: Comma separated list of packages
JSON Method

getPackageLicense

Get the license for a specific package

Arguments:
pckg
string: Package name
Returns:
errorCode
value_string1
string: License for this package
JSON Method

system_apply

Apply temporary system configuration

Arguments:
Returns:
errorCode
JSON Method

errorNumberToRecommendation

Get a recommendation for the error code

Arguments:
language
integer: Language code
errNbr
interger: Error code to translate
Returns:
errorCode
value_string1
string: Error recommendation (currently returning an int = 0 until
we have recommendations)
JSON Method

errorNumberToString

Get a description of an error code

Arguments:
language
integer: Language code 0 for the error name, 1 for a more user
friendly error message
errNbr
interger: Error code to translate
Returns:
errorCode
value_string1
string: Error description
JSON Method

factoryReset

Turns on the factory reset flag. To perform the factory reset, a reboot is necessary afterwards. All settings will be set to default and the IDS will be configured as DHCP server.

Arguments:
Returns:
errorCode
JSON Method

checkAMCinRack

If AMC is on Rack position 0, use it as DHCP server, else use it as DHCP client

Arguments:
Returns:

getDeviceName

Get the actual device name

Arguments:
Returns:
errorCode
value_string1
string: actual device name
JSON Method

getFirmwareVersion

Get the firmware version of the system

Arguments:
Returns:
errorCode
value_string1
string: The firmware version
JSON Method

getFluxCode

Get the flux code of the system

Arguments:
Returns:
errorCode
value_string1
string: flux code
JSON Method

getHostname

Return device hostname

Arguments:
Returns:
errorCode
available
available
JSON Method

getMacAddress

Get the mac address of the system

Arguments:
Returns:
errorCode
value_string1
string: Mac address of the system
JSON Method

getSerialNumber

Get the serial number of the system

Arguments:
Returns:
errorCode
value_string1
string: Serial number
JSON Method

network_apply

Apply temporary IP configuration and load it

Arguments:
Returns:
errorCode
JSON Method

configureWifi

Change the wifi configuration and applies it

Arguments:
mode
0: Access point, 1: Wifi client
ssid
psk
Pre-shared key
Returns:
errorCode
JSON Method

network_discard

Discard temporary IP configuration

Arguments:
Returns:
errorCode
JSON Method

getDefaultGateway

Get the default gateway of the device

Arguments:
Returns:
errorCode
Default
gateway
JSON Method

getDnsResolver

Get the DNS resolver

Arguments:
priority
of DNS resolver (Usually: 0 = Default, 1 = Backup)
Returns:
errorCode
IP
address of DNS resolver
JSON Method

getEnableDhcpClient

Get the state of DHCP client

Arguments:
Returns:
errorCode
value_boolean1
boolean: true = DHCP client enable, false = DHCP client disable
JSON Method

getEnableDhcpServer

Get the state of DHCP server

Arguments:
Returns:
errorCode
value_boolean1
boolean: true = DHCP server enable, false = DHCP server disable
JSON Method

getIpAddress

Get the IP address of the device

Arguments:
Returns:
errorCode
IP
address as string
JSON Method

getProxyServer

Get the proxy settings of the devide

Arguments:
Returns:
errorCode
Proxy
Server String, empty for no proxy
JSON Method

getRealIpAddress

Get the real IP address of the device set to the network interface (br0, eth1 or eth0)

Arguments:
Returns:
errorCode
IP
address as string
JSON Method

getSubnetMask

Get the subnet mask of the device

Arguments:
Returns:
errorCode
Subnet
mask as string
JSON Method

getWifiMode

Get the operation mode of the wifi adapter

Arguments:
Returns:
errorCode
mode
0: Access point, 1: Wifi client
JSON Method

getWifiPassphrase

Get the the passphrase of the network hosted (mode: Access point) or connected to (mode: client)

Arguments:
Returns:
errorCode
psk
Pre-shared key
JSON Method

getWifiPresent

Returns is a Wifi interface is present

Arguments:
Returns:
errorCode
True
True, if interface is present
JSON Method

getWifiSSID

Get the the SSID of the network hosted (mode: Access point) or connected to (mode: client)

Arguments:
Returns:
errorCode
SSID
SSID
JSON Method

setDefaultGateway

Set the default gateway of the device

Arguments:
gateway
Default gateway as string
Returns:
errorCode
JSON Method

setDnsResolver

Set the DNS resolver

Arguments:
priority
of DNS resolver (Usually: 0 = Default, 1 = Backup)
resolver
The resolver's IP address as string
Returns:
errorCode
JSON Method

setEnableDhcpClient

Enable or disable DHCP client

Arguments:
enable
boolean: true = enable DHCP client, false = disable DHCP client
Returns:
errorCode
JSON Method

setEnableDhcpServer

Enable or disable DHCP server

Arguments:
enable
boolean: true = enable DHCP server, false = disable DHCP server
Returns:
errorCode
JSON Method

setIpAddress

Set the IP address of the device

Arguments:
address
IP address as string
Returns:
errorCode
JSON Method

setProxyServer

Set the proxy server of the device

Arguments:
proxyServer
Proxy Server Setting as string
Returns:
errorCode
JSON Method

setSubnetMask

Set the subnet mask of the device

Arguments:
netmask
Subnet mask as string
Returns:
errorCode
JSON Method

setWifiMode

Change the operation mode of the wifi adapter

Arguments:
mode
0: Access point, 1: Wifi client
Returns:
errorCode
JSON Method

setWifiPassphrase

Change the passphrase of the network hosted (mode: Access point) or connected to (mode: client)

Arguments:
psk
Pre-shared key
Returns:
errorCode
JSON Method

setWifiSSID

Change the SSID of the network hosted (mode: Access point) or connected to (mode: client)

Arguments:
ssid
Returns:
errorCode
JSON Method

verify

Verify that temporary IP configuration is correct

Arguments:
Returns:
errorCode
JSON Method

rebootSystem

Reboot the system

Arguments:
Returns:
errorCode
JSON Method

setDeviceName

Set custom name for the device

Arguments:
name
string: device name
Returns:
errorCode
JSON Method

setTime

Set system time manually

Arguments:
day
integer: Day (1-31)
month
integer: Day (1-12)
year
integer: Day (eg. 2021)
hour
integer: Day (0-23)
minute
integer: Day (0-59)
second
integer: Day (0-59)
Returns:
errorCode
JSON Method

softReset

Performs a soft reset (Reset without deleting the network settings). Please reboot the device directly afterwards.

Arguments:
Returns:
errorCode
JSON Method

updateTimeFromInternet

Update system time by querying attocube.com

Arguments:
Returns:
errorCode
JSON Method

getLicenseUpdateProgress

Get the progress of running license update

Arguments:
Returns:
errorCode
value_int1
int: progress in percent
JSON Method

getSwUpdateProgress

Get the progress of running update

Arguments:
Returns:
errorCode
value_int1
int: progress in percent
JSON Method

licenseUpdateBase64

Execute the license update with base64 file uploaded. After execution, a manual reboot is nevessary.

Arguments:
Returns:
errorCode
JSON Method

softwareUpdateBase64

Execute the update with base64 file uploaded. After completion, a manual reboot is necessary.

Arguments:
Returns:
errorCode
JSON Method

uploadLicenseBase64

Upload new license file in format base 64

Arguments:
offset
int: offset of the data
b64Data
string: base64 data
Returns:
errorCode
JSON Method

COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by the Lab::Measurement team; in detail:

Copyright 2024 Andreas K. Huettel, Robin Schock

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.