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.