lightlab.laboratory.instruments.interfaces module¶
This module defines the essential interfaces for each kind of instrument.
Todo
Document every interface.
Summary¶
Classes:
ArduinoInstrument |
Usage: TODO |
Clock |
Usage: Instrument: Clock |
CurrentSource |
Deprecated/Future |
DSAOscilloscope |
Usage: Instrument: Oscilloscope |
FunctionGenerator |
Usage: Instrument: FunctionGenerator |
Keithley |
Usage: Instrument: Keithley and SourceMeter |
LaserSource |
Usage: Instrument: LaserSource |
NICurrentSource |
Usage: Instrument: CurrentSource |
NetworkAnalyzer |
Usage: Instrument: NetworkAnalyzer |
OpticalSpectrumAnalyzer |
Usage: Instrument: OpticalSpectrumAnalyzer |
Oscilloscope |
Usage: Instrument: Oscilloscope |
PatternGenerator |
|
PowerMeter |
Usage: Instrument: PowerMeter |
PulsePatternGenerator |
Usage: Instrument: PulsePatternGenerator |
RFSpectrumAnalyzer |
Usage: TODO |
SourceMeter |
Usage: Instrument: Keithley and SourceMeter |
VariableAttenuator |
Usage: Instrument: VariableOpticalAttenuator |
VectorGenerator |
Todo: Usage example |
Reference¶
-
class
PowerMeter(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: PowerMeter
-
essentialMethods= ['startup', 'powerDbm', 'powerLin']¶
-
-
class
SourceMeter(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: Keithley and SourceMeter
-
essentialMethods= ['startup', 'setCurrent', 'getCurrent', 'measVoltage', 'setProtectionVoltage', 'protectionVoltage', 'setProtectionCurrent', 'protectionCurrent', 'enable']¶
-
-
class
Keithley(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.interfaces.SourceMeterUsage: Instrument: Keithley and SourceMeter
-
essentialMethods= ['startup', 'setCurrent', 'getCurrent', 'measVoltage', 'setProtectionVoltage', 'protectionVoltage', 'setProtectionCurrent', 'protectionCurrent', 'enable', 'setCurrentMode', 'setVoltageMode', 'setVoltage', 'getVoltage', 'measCurrent']¶
-
-
class
VectorGenerator(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentTodo: Usage example
-
essentialMethods= ['startup', 'amplitude', 'frequency', 'enable', 'modulationEnable', 'addNoise', 'setPattern', 'digiMod', 'carrierMod', 'listEnable']¶
-
-
class
Clock(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: Clock
-
essentialMethods= ['startup', 'enable', 'frequency']¶
-
optionalAttributes= ['amplitude', 'sweepSetup', 'sweepEnable']¶
-
-
class
NICurrentSource(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: CurrentSource
-
essentialMethods= ['startup', 'setChannelTuning', 'getChannelTuning', 'off']¶
-
-
class
CurrentSource(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentDeprecated/Future
-
essentialMethods= ['startup', 'setChannelTuning', 'getChannelTuning', 'off']¶
-
-
class
FunctionGenerator(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: FunctionGenerator
-
essentialMethods= ['startup', 'frequency', 'waveform', 'amplAndOffs', 'amplitudeRange', 'duty', 'enable']¶
-
optionalAttributes= ['setArbitraryWaveform']¶
-
-
class
LaserSource(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: LaserSource
-
essentialMethods= ['startup', 'setChannelEnable', 'getChannelEnable', 'setChannelWls', 'getChannelWls', 'setChannelPowers', 'getChannelPowers', 'getAsSpectrum', 'off', 'allOn']¶
-
essentialProperties= ['enableState', 'wls', 'powers']¶
-
optionalAttributes= ['wlRanges', 'allOff']¶
-
-
class
OpticalSpectrumAnalyzer(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: OpticalSpectrumAnalyzer
-
essentialMethods= ['startup', 'spectrum']¶
-
essentialProperties= ['wlRange']¶
-
-
class
Oscilloscope(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: Oscilloscope
-
essentialMethods= ['startup', 'acquire', 'wfmDb', 'run']¶
-
optionalAttributes= ['histogramStats']¶
-
-
class
DSAOscilloscope(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.interfaces.OscilloscopeUsage: Instrument: Oscilloscope
-
essentialMethods= ['startup', 'acquire', 'wfmDb', 'run', 'histogramStats']¶
-
-
class
PulsePatternGenerator(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: PulsePatternGenerator
-
essentialMethods= ['startup', 'setPrbs', 'setPattern', 'getPattern', 'on', 'syncSource', 'amplAndOffs']¶
-
-
class
RFSpectrumAnalyzer(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: TODO
-
essentialMethods= ['startup', 'getMeasurements', 'setMeasurement', 'run', 'sgramInit', 'sgramTransfer', 'spectrum']¶
-
-
class
VariableAttenuator(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: VariableOpticalAttenuator
-
essentialMethods= ['startup', 'on', 'off']¶
-
essentialProperties= ['attenDB', 'attenLin', 'wavelength', 'calibration']¶
-
-
class
NetworkAnalyzer(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: Instrument: NetworkAnalyzer
-
essentialMethods= ['startup', 'amplitude', 'frequency', 'enable', 'run', 'sweepSetup', 'sweepEnable', 'triggerSetup', 'getSwpDuration', 'measurementSetup', 'spectrum', 'multiSpectra']¶
-
-
class
ArduinoInstrument(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.InstrumentUsage: TODO
-
essentialMethods= ['startup', 'write', 'query']¶
-
-
class
PatternGenerator(name='Unnamed Instrument', id_string=None, address=None, **kwargs)[source]¶ Bases:
lightlab.laboratory.instruments.bases.Instrument-
essentialMethods= ['startup', 'setDataRate', 'setMainParam', 'setDataMemory', 'setHexDataMemory', 'setClockDivider', 'channelOn', 'channelOff', 'getAmplitude', 'getOffset', 'getDataRate', 'getPatternType', 'getClockDivider']¶
-