instruments package

Submodules

instruments.AEDFA_IL_23_B_FA module

instruments.Agilent34401A module

class instruments.Agilent34401A.Agilent34401A(res_manager, address=’GPIB0::22::INSTR’)[source]

Bases: object

This class models the Agilent 34401A Multimeter.

change_state()[source]
close()[source]

Release resource.

get_current(query_range=1, resolution=1e-06)[source]

Queries the current reading of the multimeter

Parameters:
  • query_range (Integer) – range for query
  • resolution (Float) – resolution for query
Returns:

current reading as float

get_feedback()[source]

Requirement for generic feedback

get_scaling()[source]

Gets the scaling factor.

Returns:Scaling factor as Int or Float
get_voltage(scaled=False, query_range=10, resolution=0.01)[source]

Queries the voltage of multimeter.

Parameters:
  • scaled (Boolean) – Optional scaling
  • query_range (Integer) – range for query
  • resolution (Float) – resolution for query
Returns:

current voltage reading as float

set_scaling(factor=1)[source]

Sets the scaling factor of the multimeter instrument.

Parameters:factor (Float or Integer) – Desired factor
whoAmI()[source]
Returns:reference to device

instruments.AgilentE3643A module

class instruments.AgilentE3643A.AgilentE3643A(res_manager, address=’YourAddressHere’)[source]

Bases: object

This class models the Agilent DC power supply.

change_state()[source]

Toggles the self.active parameter

close()[source]

Release resources, closes serial port. :raises: Exception when serial communication port is not open

get_current()[source]

Gets the current. :return: the measured DC current :raises: Exception when serial communication port is not open

get_voltage()[source]

Gets the voltage. :return: the measured DC voltage :raises: Exception when serial communication port is not open

open()[source]

Opens serial connection. :raises: Exception when serial communication port is not open

recall_state(mem=1)[source]

Loads stored state from specified memory location

Parameters:mem (Integer) – Specified space to query
save_state(mem=1)[source]

Stores state within non-volatile memory

Parameters:mem (Integer) – Specified space to write to
setCurrent(value=0)[source]

Sets the current.

Parameters:value (float) – Specified current value, defaults to 0
Raises:Exception when serial communication port is not open
setOutputSwitch(value=0)[source]

Set the output switch to 1 -> ON or 0 -> OFF

Parameters:value (Integer) – Specified state, defaults to 0 for OFF, 1 for ON
Raises:Exception when serial communication port is not open or value is not 0 or 1
setVoltage(value=0)[source]

Sets the voltage.

Parameters:value (float) – Specified voltage value, defaults to 0
Raises:Exception when serial communication port is not open
setovervoltage(value=0)[source]

Sets the over voltage.

Parameters:value (float) – Specified voltage value, defaults to 0
Raises:Exception when serial communication port is not open
whoAmI()[source]
Returns:reference to device

instruments.AndoAQ4321 module

class instruments.AndoAQ4321.AndoAQ4321(res_manager, address=’GPIB0::24::INSTR’)[source]

Bases: object

This class models the AndoAQ4321 laser.

Note

When using any laser command, remember to send shut-off-laser command at the end of each sweep command set. For Trigger Sweep, send shut-off-laser command after sweep ends (sweep end condition noted in TriggerSweepSetup function)

change_state()[source]
checkStatus()[source]

Checks the status of the laser. Handles timeout exception

Returns:Boolean
checkStatusSingle()[source]

Checks the status of the laser. Handles timeout exception

Returns:Boolean
get_max_wavelength()[source]

Queries the maximum allowed wavelength

Returns:Integer
get_min_wavelength()[source]

Queries the minimum allowed wavelength

Returns:Integer
getpower()[source]

Gets output power in dbm

Returns:Float
getwavelength()[source]

Queries wavelength of the laser

Returns:Float
manualStep(step)[source]

Use if want to manually step by a particular size, in conjuction with Send Single Wavelength

Parameters:step (Float) – specified step increment, but be greater than or equal to 0.001
outputOFF()[source]

Turns output of laser source OFF

Note

Output occasionally doesn’t turn off unless turned ON beforehand

pauseSweep()[source]

Suspend sweep

resumeSweep()[source]

Use after pause to resume, still have to call trigger() for next data point if using with trigger sweep

setpower(power=0)[source]

Sets power in dbm

Parameters:power (Integer) – Specified power to set the laser to in dbm
setwavelength(wavelength)[source]

Loads a single wavelength and sets output high

Parameters:waveLength (Integer) – Specified wavelength
stopSweep()[source]

Stop sweep

sweepWavelengthsContinuous(start, end, time)[source]

Executes a sweep with respect to a specified time

Parameters:
  • start (Integer) – Specified wavelength between 1520-1580
  • end (Integer) – Specified wavelength between 1520-1580
  • time (Float) – Specified time
sweepWavelengthsStep(start, end, step)[source]

Executes a sweep with respect to a specified step

Parameters:
  • start (Integer) – Specified wavelength between 1520-1580
  • end (Integer) – Specified wavelength between 1520-1580
  • step (Float) – Specified step must be greater or equal to than 0.001
sweepWavelengthsTriggerSetup(start, end, step)[source]

Have to keep track of Triggers in main command, use Stop Sweep Command to end sweep. Extra triggers do not make the laser sweep outside of specified end wavelength. Remeber to shut off laser after sweep ends

Parameters:
  • start (Integer) – Specified wavelength between 1520-1580
  • end (Integer) – Specified wavelength between 1520-1580
  • time (Float) – Specified time
trigger()[source]

Triggers laser

whoAmI()[source]
Returns:reference to device

instruments.AnritsuMS2667C module

class instruments.AnritsuMS2667C.AnritsuMS2667C(res_manager, address=’GPIB0::23::INSTR’)[source]

Bases: object

This class models a Spectrum Analyzer

change_state()[source]
getPeak(central, span)[source]

Queries the peak for a specified central and span.

Parameters:
  • central (Float) – Specified central
  • span (Float) – Specified span
Returns:

Tuple of readings

waveformReadCentral(central, span, resolutionStep=1)[source]

Queries the wave form

Parameters:
  • central (Float) – Specified central
  • span (Float) – Specified span
  • resolutionStep (Integer) – Defaults to 1; specified step size
Returns:

List of readings

waveformReadRange(start, end, resolutionStep=1)[source]

Queries the wave form

Parameters:
  • start (Float) – Specified start
  • end (Float) – Specified end
  • resolutionStep (Integer) – Defaults to 1; specified step size
Returns:

List of readings

whoAmI()[source]
Returns:reference to device

instruments.AragonBOSA400 module

class instruments.AragonBOSA400.AragonBOSA400(res_manager, address=‘128.59.65.231’)[source]

Bases: object

This class models the AndoAQ4321 laser.

Note

When using any laser command, remember to send shut-off-laser command at the end of each sweep command set. For Trigger Sweep, send shut-off-laser command after sweep ends (sweep end condition noted in TriggerSweepSetup function)

change_state()[source]
getAuxInputPower()[source]
getIL(start, end, step, polarization)[source]

Executes a sweep with respect to a specified time and collect injection loss information

Parameters:
  • start (Integer) – Specified wavelength between 1520-1580
  • end (Integer) – Specified wavelength between 1520-1580
  • step (String) – Specified step
  • step – polarization mode
getRL(start, end, step, polarization)[source]

Executes a sweep with respect to a specified time and collect reflection loss information

Parameters:
  • start (Integer) – Specified wavelength between 1520-1580
  • end (Integer) – Specified wavelength between 1520-1580
  • step (String) – Specified step
  • step – polarization mode
getSpectrum(start, end, step, polarization)[source]

Executes a sweep with respect to a specified time and collect reflection loss information

Parameters:
  • start (Integer) – Specified wavelength between 1520-1580
  • end (Integer) – Specified wavelength between 1520-1580
  • step (String) – Specified step
  • step – polarization mode

NOTE: polarization arg doesn’t do anything yet!

get_feedback()[source]
get_max_wavelength()[source]

Queries the maximum allowed wavelength

Returns:Integer
get_min_wavelength()[source]

Queries the minimum allowed wavelength

Returns:Integer
getpower()[source]

Gets output power in dbm

Returns:Float
getwavelength()[source]

Queries wavelength of the laser

Returns:Float
outputOFF()[source]

Turns output of laser source OFF

outputON()[source]

Turns output of laser source OFF

setpower(wavelength)[source]

BOSA cannot adjust output power - raise exception

setwavelength(wavelength)[source]

Loads a single wavelength (in nanometers) and sets output high

Parameters:waveLength (Integer) – Specified wavelength
stopSweep()[source]

Stop sweep

sweepWavelengthsContinuous(start, end, time)[source]

Executes a sweep with respect to a specified time

Parameters:
  • start (Integer) – Specified wavelength between 1520-1580
  • end (Integer) – Specified wavelength between 1520-1580
  • time (Float) – Specified time
sweepWavelengthsTriggerSetup(start, end, step)[source]

Have to keep track of Triggers in main command, use Stop Sweep Command to end sweep. Extra triggers do not make the laser sweep outside of specified end wavelength. Remeber to shut off laser after sweep ends

Parameters:
  • start (Integer) – Specified wavelength between 1520-1580
  • end (Integer) – Specified wavelength between 1520-1580
  • step (Float) – Specified step in nm
trigger()[source]

Triggers laser - Now this just starts the sweep

whoAmI()[source]
Returns:reference to device
class instruments.AragonBOSA400.BOSA(interfaceType, location, portNo=10000, IDN=True, Reset=False)[source]

class BOSA: driver used to communicate with BOSA equipment

ask(command)[source]

writes and reads data

connectLan()[source]

connect the instrument to a LAN

read()[source]

read something from device

write(command)[source]

write to equiment: independent of the interface Parameters:

command -> data to send to device +
exception instruments.AragonBOSA400.BOSAException[source]

Bases: exceptions.Exception

instruments.AragonBOSA400.check_response(command, response, OK=False)[source]
instruments.AragonBOSA400.nm_to_ghz(nm)[source]

instruments.DSensor_ILD1420 module

class instruments.DSensor_ILD1420.DSensor_ILD1420(COM_Port, sensor_model=42)[source]

Bases: object

Error(err)[source]

Read errors from sensor

InterfaceRS422()[source]
close()[source]
open()[source]
poll(n=1)[source]

Retrieves last n values from sensor

instruments.DSensor_ILD1420.Error(err, sensor)[source]

Read errors from sensor

instruments.ELL8 module

class instruments.ELL8.ELL8(ser)[source]

Bases: object

abs_move(steps)[source]

rotate the stage by specified # of steps

close()[source]

releases motor control

delta_move(steps)[source]

rotate the stage by specified # of steps

get_position()[source]

return the motors current position

home()[source]

homes the stage

move_complete()[source]
set_as_zero(zer_deg)[source]

change the origin (zero)

set_vel_params(vel)[source]

Set the velocity parameters for the motor in terms of percentage of max

instruments.ELL8.hexString(data)[source]

Creates a string that is a byte sequense of the hex values input e.g. data = ‘0A 23 34 56’

instruments.ELL8.int2hexStr(integer, nb)[source]

Convert an integer to its corresponding bytearray

integer (int): the number we want to convert nb (int): the number of bytes

instruments.GonStage_KST_Z812B module

class instruments.GonStage_KST_Z812B.GonStage_KST_Z812B(ser, GNL_model)[source]

Bases: instruments.Motor_KST_ZST.Motor_KST_ZST

abs_rot(degs)[source]

Absolute translation on the motor

degs (float): the millmeters of rotation (negative -> backwards)

check_abs_transl(dist)[source]

Check wether a move to position ‘dist’ is in range

delta_rot(degs)[source]

Relative translation on the motor

degs (float): the millimeters of rotation (negative -> backwards)

get_deg_pos()[source]

return the motors current position, in millimeters

home()[source]

Puts the motor to backward limit position, so that the position markers make sense

set_as_zero(zer_deg)[source]

change the origin (zero)

instruments.HP6624A module

class instruments.HP6624A.HP6624A(res_manager, address=’GPIB0::1::INSTR’)[source]

Bases: object

This class models a MULTIPLE OUTPUT LINEAR SYSTEM.

change_state()[source]
getOCswitch(channel=1)[source]

Queries the OC switch of a specified channel

Parameters:channel (Integer) – Specified channel to query
Returns:Integer
getoutcurrent(channel=1)[source]

Queries the out-current of a specified channel

Parameters:channel (Integer) – Specified channel to query
Returns:Integer
getoutswitch(channel=1)[source]

Queries the out switch of a specified channel

Parameters:channel (Integer) – Specified channel to query
Returns:Integer
getoutvoltage(channel=1)[source]

Queries the voltage of a specified channel

Parameters:channel (Integer) – Specified channel to query
Returns:Integer
getsetcurrent(channel=1)[source]

Queries the current of a specified channel

Parameters:channel (Integer) – Specified channel to query
Returns:Integer
getsetvoltage(channel=1)[source]

Queries the voltage of a specified channel

Parameters:channel (Integer) – Specified channel to query
Returns:Integer
recall_state(mem=1)[source]

Loads stored state from specified memory location

Parameters:mem (Integer) – Specified space to query
save_state(mem=1)[source]

Stores state within non-volatile memory

Parameters:mem (Integer) – Specified space to write to
setOCSwitch(value=0, channel=1)[source]

Set the OC Switch

Parameters:
  • value (Integer) – Specified value to set channel to
  • channel (Integer) – Specified channel to set
setOutputSwitch(value=0, channel=1)[source]

Set the output Switch

Parameters:
  • value (Integer) – Specified output value to set channel to
  • channel (Integer) – Specified channel to set
setcurrent(value=0, channel=1)[source]

Set the current

Parameters:
  • value (Integer) – Specified current to set channel to
  • channel (Integer) – Specified channel to set
setovervoltage(value=0, channel=1)[source]

Set the over-voltage

Parameters:
  • value (Integer) – Specified over-voltage to set channel to
  • channel (Integer) – Specified channel to set
setvoltage(value=0, channel=1)[source]

Set the voltage

Parameters:
  • value (Integer) – Specified voltage to set channel to
  • channel (Integer) – Specified channel to set
whoAmI()[source]
Returns:reference to device

instruments.HP8163A module

class instruments.HP8163A.HP8163A(res_manager, address=’GPIB0::14::INSTR’, channel=1)[source]

Bases: object

This class models a Powermeter Agilent 8163A/B Lightwave Multimeter.

CURRENT_CHANNEL = 1
change_state()[source]
close()[source]

Release resources

config_meter(range)[source]
get_feedback()[source]
get_power(wavelength=1550)[source]

return power meter reading after setting correct wavelength

get_result_from_log(samples=64)[source]
prep_measure_on_trigger(samples=64)[source]
whoAmI()[source]
Returns:reference to device

instruments.Keithley2280S module

class instruments.Keithley2280S.Keithley2280S(res_manager, address=‘169.254.115.242’, channel=1)[source]

Bases: object

This class models a DC Source Meter 2280S from Keithley.

CURRENT_CHANNEL = 1
change_state()[source]
close_connection()[source]
getOCswitch(channel=1)[source]
get_current(channel=1)[source]
get_voltage(channel=1)[source]
getoutcurrent(channel=1)[source]
getoutswitch(channel=1)[source]
getoutvoltage(channel=1)[source]
getsetcurrent(channel=1)[source]
getsetvoltage(channel=1)[source]
recall_state(mem=1)[source]
save_state(mem=1)[source]
setOCSwitch(value=0, channel=1)[source]
setOutputSwitch(value=0, channel=’CH1’)[source]
setcurrent(value=0, channel=1)[source]
setovercurrent(value=0, channel=1)[source]
setovervoltage(value=0, channel=1)[source]
setvoltage(value=0, channel=1)[source]
whoAmI()[source]
Returns:reference to device

instruments.Keithley2400 module

class instruments.Keithley2400.Keithley2400(res_manager, address=’GPIB0::21::INSTR’)[source]

Bases: object

This class models the Keithley Model 2400 Series SourceMeter DC-Source

change_state()[source]
close()[source]

Release resources

get_current(query_range=1, resolution=1e-06)[source]

Get the current

Parameters:
  • query_range (Integer) – Specified range value, defaults to 10
  • resolution (Float) – Specified resoultion to query, defaults to 0.000001
Returns:

Float

get_voltage(query_range=10, resolution=0.01)[source]

Get the voltage

Parameters:
  • query_range (Integer) – Specified range value, defaults to 10
  • resolution (Float) – Specified resoultion to query, defaults to 0.01
Returns:

Float

getoutcurrent()[source]

Queries the current out-current

Returns:Float
getoutswitch()[source]

Queries the current out-switch

Returns:String
getoutvoltage()[source]

Queries the current out-voltage

Returns:Float
getsetcurrent()[source]

Queries the current

Returns:String
getsetvoltage()[source]

Queries the current voltage

Returns:String
recall_state(mem=1)[source]

Loads stored state from specified memory location

Parameters:mem (Integer) – Specified space to query
save_state(mem=1)[source]

Stores state within non-volatile memory

Parameters:mem (Integer) – Specified space to write to
setOutputSwitch(value=0)[source]

Set the output switch to 1 -> ON or 0 -> OFF

Parameters:value (Integer) – Specified state, defaults to 0 for OFF, 1 for ON
setcurrent(value=0)[source]

Set the current

Parameters:value (Integer) – Specified voltage value, defaults to 0
setovercurrent(value=0)[source]

Set the over current

Parameters:value (Integer) – Specified current value, defaults to 0
setovervoltage(value=0)[source]

Set the over voltage

Parameters:value (Integer) – Specified voltage value, defaults to 0
setvoltage(value=0)[source]

Set the voltage

Parameters:value (Integer) – Specified voltage value, defaults to 0
whoAmI()[source]
Returns:reference to device

instruments.Motor_KST_ZST module

class instruments.Motor_KST_ZST.Motor_KST_ZST(serial)[source]

Bases: object

This class models a motor for stages

abs_move(steps)[source]

Relative rotation on the motor

Parameters:steps (Integer) – the endpoint of motion
close()[source]

releases motor resources

delta_move(steps)[source]

Relative rotation onpos the motor

Parameters:steps (Integer) – the number of steps to move (negative -> backwards)
get_position()[source]

return the motors current position

move_complete()[source]

Waits until the MOVE_COMPLETE message is received by the controller. Helper-function for delta_move() and abs_move() functions.

set_as_zero(new_zero)[source]

change the origin (zero)

set_vel_params(vel_init, accel, vel_fin)[source]

Set the velocity parameters for the motor

Parameters:
  • vel_init (Integer) – initial velocity (steps / sec)
  • accel (Integer) – acceleration (steps / sec^2)
  • vel_fin (Integer) – max(final) velocity (steps / sec)
instruments.Motor_KST_ZST.hexString(data)[source]

Creates a string that is a byte sequense of the hex values input :param data: Example is ‘0A 23 34 56’

instruments.Motor_KST_ZST.int2hexStr(integer, numberOfBytes)[source]

Convert an integer to its corresponding bytearray

Parameters:
  • integer (Integer) – the number we want to convert
  • numberOfBytes (Integer) – The number of bytes
Returns:

Mutable sequence of integers of type bytearray

instruments.Motor_MST_DRV module

class instruments.Motor_MST_DRV.Motor_MST_DRV(serial, bay=0, chan=1)[source]

Bases: object

This class models a motor for stages

abs_move(steps)[source]

Relative rotation on the motor

Parameters:steps (Integer) – the endpoint of motion
close()[source]

releases motor resources

delta_move(steps)[source]

Relative rotation onpos the motor

Parameters:steps (Integer) – the number of steps to move (negative -> backwards)
get_position()[source]

return the motors current position

move_complete()[source]

Waits until the MOVE_COMPLETE message is received by the controller. Helper-function for delta_move() and abs_move() functions.

set_as_zero(new_zero)[source]

change the origin (zero)

set_vel_params(vel_init, accel, vel_fin)[source]

Set the velocity parameters for the motor

Parameters:
  • vel_init (Integer) – initial velocity (steps / sec)
  • accel (Integer) – acceleration (steps / sec^2)
  • vel_fin (Integer) – max(final) velocity (steps / sec)
instruments.Motor_MST_DRV.hexString(data)[source]

Creates a string that is a byte sequense of the hex values input :param data: Example is ‘0A 23 34 56’

instruments.Motor_MST_DRV.int2hexStr(integer, numberOfBytes)[source]

Convert an integer to its corresponding bytearray

Parameters:
  • integer (Integer) – the number we want to convert
  • numberOfBytes (Integer) – The number of bytes
Returns:

Mutable sequence of integers of type bytearray

instruments.Motor_MST_DRV.prep_long_src_dst(bay=0)[source]
instruments.Motor_MST_DRV.prep_short_src_dst(bay=0)[source]
instruments.Motor_MST_DRV.send_chan_ident(ser, chan=1)[source]
instruments.Motor_MST_DRV.send_long_dst_src(ser, bay=0)[source]
instruments.Motor_MST_DRV.send_short_dst_src(ser, bay=0)[source]

instruments.NewportPM500 module

Newport Controler Class
implementation for vertical stage
class instruments.NewportPM500.NewportPM500(gpib_addr)[source]

Bases: object

close()[source]

release resources

move_down()[source]

Moves the stage to negative limit switch

move_up()[source]

Moves the stage to positive limit switch

set_velocity(vel)[source]

Set the velocity for the motor movement

vel (integer): velocity in um/sec

instruments.Polatis module

class instruments.Polatis.Polatis(rm, address)[source]

Bases: object

This class models the Polatis 16x16 optical switch. Dependencies: PyVisa, datetime, time.

Note

there are a handful of sleep() calls throughout the class that slow down the performance of the switch. This is beacuase the firmware on the switch is not stable enough to support commands executed at high-speeds.

change_state()[source]
close()[source]

instrument cleanup

cmd_line(commands)[source]

Allows the user to pass raw commands to the device, the commands are passed in SCPI. See pg.5 PROD-B-100-03-0 for further documentation.

Parameters:commands (Sting) – SCPI commands for the instrument
Returns:varied
get_all_connections()[source]

Query the existing complete switch state in the form of port pair lists

Returns:String
get_boot_mode()[source]

Get the current boot mode, either: DARK, REST, AUT. More detailed documentation at pg.31 PROD-B-100-03-0

Returns:String
get_port_state(portNumber)[source]

Query the port connected to the specified port <NR1>

Parameters:portNumber (integer) – integer of desired port to query
Returns:String
get_zip_connections()[source]

Data Model for to string functionality

make_connections(ingress, egress, explicit=’only’)[source]

Makes connections between ports. The ingress range is 1 to 16 and egress range is 16-32. This means that at most 16 connections can be made at one time.

Parameters:
  • ingress (list of integers) – a collection of input ports
  • egress (list of integers) – a collection of output ports
  • explicit – The explicit parameter can either be: add, only, sub. Defaults to only, see pg.22 of tech manual for details of each.
quick_connect(ingress=0, egress=0)[source]

Allows the user to quickly make a connection between 2 ports

Parameters:
  • ingress (integer) – input port
  • egress (integer) – output port
read_pattern(name=”, boot=True)[source]

Reads in a pattern that is in store_pattern format.

Parameters:
  • name (String) – filename for desired pattern to be read, defaults to an empty String.
  • boot (Boolean) – Boot == true if you want to load this pattern into the instrument, defaults to True.
Returns:

String

Raises:

Exception

reset()[source]

Resets the instrument and disconnects all connections

set_boot_mode(mode=’aut’)[source]

Allows the user set the boot mode

Parameters:mode (String) – Possible modes are DARK, RESTore, AUTosave. See pg.31 for details
whoAmI()[source]
Returns:reference to device
write_pattern(name=’newPattern.txt’)[source]

Stores the current pattern associated with the self._switch, writes the to a txt file.

Parameters:name (String) – desired filename, defaults to newPattern.txt
instruments.Polatis.sdebug(msg)[source]

instruments.RSY01 module

class instruments.RSY01.RSY01(res_manager, address=’GPIB0::28::INSTR’)[source]

Bases: object

This class models Signal Generator, specifically for Model RSY01

change_state()[source]
out_off()[source]

Turns the level off.

out_on()[source]

Turns the level on.

reset()[source]

Resets the instrument

set_freq(freq=10)[source]

Set the frequency to specified frequency.

Parameters:freq (Integer) – Specified frequency, defaults to 10.
set_power(power=0)[source]

Set the power to specified power.

Parameters:power (Integer) – Specified power, defaults to 0.
sweepTriggerSetup(start, end, step)[source]

Execute a trigger sweep

Parameters:
  • start (Float) – Specified start
  • end (Float) – Specified end
  • step (Float) – Specified step
trigger()[source]

Execute the trigger for laster

whoAmI()[source]
Returns:reference to device

instruments.Rotator_CR1_Z7 module

class instruments.Rotator_CR1_Z7.Rotator_CR1_Z7(ser)[source]

Bases: instruments.Motor_KST_ZST.Motor_KST_ZST

abs_angle(deg)[source]

Relative rotation on the motor

deg (float): the degrees of rotation (negative -> counter-clockwise)

delta_angle(deg)[source]

Relative rotation on the motor

deg (float): the degrees of rotation (negative -> counter-clockwise)

get_angle()[source]

return the motors current position, in degrees

set_as_zero(zer_deg)[source]

change the origin (zero)

instruments.Rotator_ELL8 module

class instruments.Rotator_ELL8.Rotator_ELL8(ser)[source]

Bases: instruments.ELL8.ELL8

abs_angle(deg)[source]

Relative rotation on the motor

deg (float): the degrees of rotation (negative -> counter-clockwise)

delta_angle(deg)[source]

Relative rotation on the motor

deg (float): the degrees of rotation (negative -> counter-clockwise)

get_angle()[source]

return the motors current position, in degrees

set_as_zero(zer_deg)[source]

change the origin (zero)

instruments.Santec_TSL_210H module

class instruments.Santec_TSL_210H.Santec_TSL_210H(res_manager, address=’GPIB0::3::INSTR’)[source]

Bases: object

This class models the Santec_TSL_210H TUNABLE LD LIGHT SOURCE.

Note

When using any laser command, remember to send shut-off-laser command at the end of each sweep command set.

For Trigger Sweep, send shut-off-laser command after sweep ends (sweep end condition noted in TriggerSweepSetup function)

change_state()[source]
checkStatus()[source]

Check the status of the instrument

Returns:Booleans
coherenceOFF()[source]

Turns coherence OFF

coherenceON()[source]

Turns coherence ON

get_max_wavelength()[source]

Queries the maximum allowed wavelength.

Returns:Float
get_min_wavelength()[source]

Queries the minimum allowed wavelength.

Returns:Float
getcoherence()[source]

Queries the coherence value

Returns:Float
getcurrent()[source]

Queries the current, Note: current is mA

Returns:Float
getpower()[source]

Gets output power in dbm

Returns:Float
getpowermw()[source]

Queries the status of the powerMW

Returns:Float
getstatus()[source]

Queries the status of the…

Returns:String
gettemperature()[source]

Queries the temperature, Note: temperature is C

Returns:Float
getwavelength()[source]

Query the current wavelength

Returns:Float
outputOFF()[source]

Turns output of laser source OFF. Output occasionally doesn’t turn off unless turned ON beforehand

outputON()[source]

Turns output of laser source ON.

pauseSweep()[source]

Pause sweep

setACC()[source]

Sets the ACC

setAPC()[source]

Sets the APC

setcoherence(coherence)[source]

Sets the coherence

Parameters:coherence (Integer) – Specified coherence
setcurrent(current)[source]

Set the current. Note: current is mA

Parameters:current (Integer) – specified current to set
setpower(power)[source]

Set power in dbm

Parameters:power (Float) – power specified to set
setpowermw(powermw)[source]

Sets the powerMW

Parameters:powerMW (Integer) – specified powerMW to set
settemperature(temperature)[source]

Set the temperature. Note: temperature is C

Parameters:temperature (Integer) – specified temperature to set
setwavelength(wavelength)[source]

Loads a single wavelength and sets output high.

Parameters:wavelength (Float) – Specified wavelength, must be greater than minimum and less than maximum wavelength
startSweep()[source]

Start sweep

stopSweep()[source]

Stop the sweep

sweepWavelengthsTriggerSetup(start, end, step)[source]

Execute a sweep of the wavelength trigger. Have to keep track of Triggers in main command. Use Stop Sweep Command to end sweep. Extra triggers do not make the laser sweep outside of specified end wavelength. Remeber to shut off laser after sweep ends.

Parameters:
  • start (Float) – Starting point for sweep
  • end (Float) – Ending point for sweep
  • step (Float) – Size of increment
trigger()[source]

Trigger the laser

whoAmI()[source]
Returns:reference to device

instruments.StepMotor_KST_ZST module

class instruments.StepMotor_KST_ZST.StepMotor_KST_ZST(ser)[source]

Bases: instruments.Motor_KST_ZST.Motor_KST_ZST

abs_transl(dist)[source]

Absolute translation on the motor

dist (float): the millmeters of rotation (negative -> backwards)

check_abs_transl(dist)[source]

Check wether a move to position ‘dist’ is in range

delta_transl(dist)[source]

Relative translation on the motor

dist (float): the millimeters of translation (negative -> backwards) m_callback (function): (Optional) a function that will run while the motor

will be in motion. (e.g. show camera) This callback’s last parameter must be a callback itself, named ‘callback’

params (tuple): the callback’s parameters

get_info()[source]

Get information back form the controller Used for debugging purposes

get_mm_pos()[source]

return the motors current position, in millimeters

home()[source]

Puts the motor to backward limit position, so that the position markers make sense

set_as_zero(zer_mm)[source]

change the origin (zero)

instruments.StepMotor_MST_DRV module

class instruments.StepMotor_MST_DRV.StepMotor_MST_DRV(ser, bay=0, chan=1)[source]

Bases: instruments.Motor_MST_DRV.Motor_MST_DRV

abs_transl(dist)[source]

Absolute translation on the motor

dist (float): the millmeters of rotation (negative -> backwards)

check_abs_transl(dist)[source]

Check wether a move to position ‘dist’ is in range

delta_transl(dist)[source]

Relative translation on the motor

dist (float): the millimeters of translation (negative -> backwards) m_callback (function): (Optional) a function that will run while the motor

will be in motion. (e.g. show camera) This callback’s last parameter must be a callback itself, named ‘callback’

params (tuple): the callback’s parameters

get_info()[source]

Get information back form the controller Used for debugging purposes

get_mm_pos()[source]

return the motors current position, in millimeters

home()[source]
Initializes all paremeters specific to the step motor and homes the motor.
The homing and backlash position need to be set up in a way that homing the system brings the system into a safe position. The backlash correction needs to be performed in such away that the correction is performed in the direction away from the chip and the other probes.
set_as_zero(zer_mm)[source]

change the origin (zero)

instruments.TL2500 module

class instruments.TL2500.TL2500(res_manager, address=‘127.0.0.1:8888’)[source]

Bases: object

This class handles the communication with the fiContec TL2500 system.

calibrate()[source]

Calibrate machine for current configuration

Should be blocking until machine is calibrated

return ready or error

close()[source]
connect_structure(chip_id, structure_id, active_align=False)[source]

Prober connects probes and performs active alignment of optical probes.

  1. Prober reads coordinates of structure IO from internal database - coordinates include type of IO and feedback signal source for active alignment
  2. Prober checks whether it is configured to couple the structure
  3. Prober couples structure and performs active alignment
  4. Prober returns ‘error’/’ready’ message
free_prober()[source]

Prober returns all loaded devices (wafer and/or chip) to original location

returns ‘ready’ / ‘error’

get_chip_temp()[source]

Prober returns reticle holder temperature in degree Celsius

get_chuck_temp()[source]

Prober return wafer chuck temperature in degree Celsius

get_state()[source]

Returns the state of the prober. Minimal set of returns: error, uncalibrated, ready

get_structure_needs(structure)[source]

Prober gives information on the fibers that need to be connected with PowerMeter and/or MultiMeter attached to the Prober

  1. Return (power_fiber_id, multi_fiber_id) – can be None too
load_bluetape(bluetape_id)[source]

Prober loads bluetape to die ejector position. Sets state so that following coupling commands are executed for single die coupling.

  1. Prober checks configuration
  2. Prober checks whether ejector is free. If not stores loaded bluetape in casssette
  3. Prober reads location of bluetape_id from database
  4. Prober loads bluetape to die ejector
  5. Prober returns error/success message
load_chip(reticle_id)[source]

Prober loads reticle onto single die probing station. Sets state so that following coupling commands are executed depending whether chip is in waferfor or die form.

(1) Prober fetches position and state of chip from DB (2a) If die is on already loaded wafer do nothing (2b) If die is on new wafer possibly store current wafer back to foup (2c) If die is in chip state and measurement platform is currently occupied restore current die to original location (3) Prober checks its configuration whether its equipped for chip state (wafer or die) (4) Prober loads wafer or picks die either from bluetape or gel pack (5) If needed Prober places die on probing station (6) Prober returns ‘ready’ or ‘error’

load_wafer(wafer_id)[source]

Prober loads bluetape to die ejector position. Sets state so that following coupling commands are executed for wafer scale coupling.

  1. Prober checks configuration
  2. Prober checks whether wafer chuck is free. If not stores loaded wafer in casssette
  3. Prober reads location of wafer_id from database
  4. Prober loads wafer to wafer chuck
  5. Prober returns error/success message
set_chip_temp(temp)[source]

Prober sets reticle holder temperature in degree Celsius

  1. If lock = True - tool driver returns functions only when temp is reached.
  2. If lock = False - tool driver only initiates heating process
set_chuck_temp(temp, lock)[source]

Prober sets wafer chuck temperature in degree Celsius

  1. If lock = True - tool driver returns functions only when temp is reached.
  2. If lock = False - tool driver only initiates heating process
store_bluetape()[source]

Prober stores currently loaded bluetape in cassette. (2) Prober returns error/success message

store_chip(pack_id=None)[source]

Prober stores active chip in pack. * If no pack_id defined: (1) Return chip to previous location (2) Prober returns error/ready message.

  • If pack_id defined:
  1. Prober checks location and fill-stage of pack_id
  2. Prober stores chip in pack if possible
  3. Prober updates database with location of chip about pack_id and location in pack
  4. Prober returns error/ready message.
store_wafer()[source]

Prober stores currently loaded wafer in cassette. (2) Prober returns error/success message

test_connection()[source]
whoAmI()[source]
Returns:instrument attributes

instruments.TL2500MultiDummy module

Dummy holder for the multimeter attached to the TL2500 prober system

class instruments.TL2500MultiDummy.TL2500MultiDummy(res_manager, address=‘0.0.0.0’)[source]

Bases: object

whoAmI()[source]

instruments.TL2500PowerDummy module

Dummy holder for the powermeter attached to the TL2500 prober system

class instruments.TL2500PowerDummy.TL2500PowerDummy(res_manager, address=‘0.0.0.0’)[source]

Bases: object

whoAmI()[source]

instruments.TektronixCSA8000 module

class instruments.TektronixCSA8000.TektronixCSA8000(res_manager, address=’GPIB0::16::INSTR’, channel=1)[source]

Bases: object

This class models a sampling oscilloscope…

change_state()[source]

Toggles the self.active parameter

getAcquisitionParam()[source]
getAmplitude(source=’CH1’, measSlot=1)[source]
getFallTime(source=’CH1’, measSlot=1)[source]
getFrequency(source=’CH1’, measSlot=1)[source]
getHistogramStatistics()[source]
getMaskHitCount()[source]
getMaskHitRatio()[source]
getMaskParamter()[source]
getMaximum(source=’CH1’, measSlot=1)[source]
getMean(source=’CH1’, measSlot=1)[source]
getMeasurementVal(measType, source=’CH1’, measSlot=1)[source]

This function specifiecs a measurement channel to collect a specific type of data

meaSlot is the measuement slot on the oscilloscope. Valid numbers and integers between 1-8 source is the source channel for the measurement. Valid numbers are integers between 1-8

Options for Measurements are: HIGH | LOW | AMPLitude | MEAN | MAXimum | MINImum | PK2Pk | MID | POVershoot | NOVershoot | RMSNoise | PKPKNoise | AOPTPWRDBM | RMS | ACRMs | CRMs | CMEan | SNRatio | AOPTPWR | GAIN | OMA | RISe | FALL | PERIod | FREQuency | PCROss | NCROss | PWIdth | NWIdth | PDUty | NDUty | BURst | RMSJitter | PKPKJitter | DELay | PHAse | AREa | CARea | EXTINCTDB | EXTINCTPCT | EXTINCTRATIO | EXTINCTCAL | EYEHeight | PCTCROss | LEVCROss | QFACtor | EYEWIdth | DISTDUty | BITTime | BITRate | TIMCROss | EYEOfactor | SUPRSDB | SUPRSPCT | SUPRSRATIO | PULSESym

getMinimum(source=’CH1’, measSlot=1)[source]
getOMA(source=’CH1’, measSlot=1)[source]
getPeriod(source=’CH1’, measSlot=1)[source]
getPk2Pk(source=’CH1’, measSlot=1)[source]
getRiseTime(source=’CH1’, measSlot=1)[source]
getRmsNoise(source=’CH1’, measSlot=1)[source]
getSampleRate(scale)[source]

Notes:

resetHistogramCount()[source]
resetMask()[source]
runMaskAutoFit()[source]
runMaskAutoSize()[source]
selectMathSlot(num)[source]

num can be between 1 and 8

setAcquisitionMode(sample=True, average=False, envelope=False)[source]
setAveragingNum(num=16)[source]
setHistogramAxis(linear=True, log=True)[source]
setHistogramMode(HORizontal=True, VERtical=False)[source]
setHistogramSource(source=’CH1’)[source]
source options are:
CH1 - CH8 MATH1 - MATH8 REF1 - REF8
setMaskHitCountTarget(count)[source]
setMaskHitRatioTarget(ratio)[source]
setMaskSource(source=’CH1’)[source]
source options are:
CH1 - CH8 MATH1 - MATH8 REF1 - REF8
setMaskStandard(standard=’NONe’)[source]

Supported Standards are: NONe | CUSTom | ATARXG1 | ATARXG2 | ATARXG3 | ATATXG1 | ATATXG2 | ATATXG3 | ENET40GB_LR4 | ENET40GB_SR4 | ENET1250 | ENET2500 | ENET3125 | ENET9953 | ENET10313| ENET10GB_LRM | ENET100B_BX10 | ENET100GB_ER4 | ENET100GB_LR4 | ENET100GB_SR4 | ENET100GB_SR10 | ENET100B_LX10 | ENET1000B_KX | ENET10313 | ENET11096 | ENET41250 | FC133 | FC133E | FC266 | FC266E | FC531 | FC531E | FC1063 | FC1063E | FC2125 | FC2125E_ABR | FC2125E_ABT | FC2125E_AGR | FC2125E_AGT | FC4250E_ABR | FC4250E_ABT | FC4250E_AGR | FC4250E_AGT | FC8500E_ABR | FC8500E_ABT | FC8500E_AGR| FC8500E_AGT | FC8500D | FC8500FINAL | FC4250 | FC10519 | FC11317 | FC14025_MMR6_1 | FC14025_SMR6_1 | FEC2666 | FEC10664 | FEC10709 | FEC42657 | FEC43018 | INF2500 | INFIE25 | INFIniband | OC1 | OC3 | OC9| OC12 | OC18 | OC24 | OC36 | OC48 | OC192 | OC768 | OTU27952 |PCIEXPRESS_Rcv | PCIEXPRESS50_Rcv | PSM4_100G_TX | RIO_SERIAL1G | RIO_SERIAL2G | RIO_SERIAL3G | SAS3_0_XR | SAS3_0_XR_AASJ | SAS3_0_SATA | USERMask | XFI9950_TAA | XFI9950_RAD | XFI9950_THB | XFI9950_RHC | XFI9950_TMBP | XFI9950_RMCP |XAUIFar | XAUIRFar | XAUINear | XAUIRNear

setMathFunction(func_string=’C1+C2’)[source]
Example for the func_string:
C1+C2 C2*R2 Log(C1+C2)

Cx representing the channel x

setSampleRate(scale)[source]

Notes:

startAcquisition()[source]
stopAcquisition()[source]
unlockFront()[source]
whoAmI()[source]
Returns:reference to device

instruments.WT68145B module

class instruments.WT68145B.WT68145B(res_manager, address=’GPIB0::5::INSTR’)[source]

Bases: object

auto_trigger_mode()[source]

Enter auto trigger mode

change_state()[source]
decrement()[source]

Execute decrement

fill_freq_buffer(start, stop, steps)[source]

Writes to frequency buffer.

Parameters:
  • start (Float) – Specify starting point.
  • stop (Float) – Specify ending point
  • steps (Float) – Specify steps
freq_step()[source]

Set step frequency.

full_range_sweep()[source]

Execute full range sweep

increment()[source]

Execute increment

out_off()[source]

Turns output OFF

out_on()[source]

Turns output ON

set_CW_mode()[source]

Enter CW mode

set_analogsweep_mode()[source]

Enter analog-sweep mode

set_analogsweep_time(time=1000)[source]

Set analog-sweep time

Parameters:time (Integer) – Specify time value; defaults to 1000
set_deltasweep_mode()[source]

Enter delta sweep mode

set_freq1(freq=10)[source]

Sets the first frequency to specified value.

Parameters:freq (Integer) – Frequency to spcify; defaults to 10.
set_freq2(freq=10)[source]

Sets the second frequency to specified value.

Parameters:freq (Integer) – Frequency to spcify; defaults to 10.
set_power(power=0)[source]

Set the power to specified value.

Parameters:power (Integer) – Specified power value; defaults to 0
set_stepsweep_mode()[source]

Enter step-sweep mode

set_stepsweep_steps(steps=1000)[source]

Set the number of steps

Parameters:steps (Integer) – Specified step value; defaults to 1000
set_stepsweep_stepsize(step=500)[source]

Set the stepsize of step-sweep mode

Parameters:step (Integer) – Specify the step size; defaults to 500.
set_stepsweep_time(time=100)[source]

Sets the step sweep time

Parameters:time (Integer) – Specified time value; defaults to 100
set_sweep_delta(delta=5)[source]

Set delta sweep value

Parameters:delta (Integer) – Specified delta value; defaults to 5
single_trigger_mode()[source]

Enter single trigger mode.

sweep_f1f2()[source]

Execute a sweep of the two frequencies

trigger_sweep()[source]

Execute trigger sweep

whoAmI()[source]
Returns:reference to device

instruments.template module

instruments.template.instrument(instrument_type)[source]

Module contents