PM100D module
Created on Thu Dec 2 08:27:01 2021
@author: MartinMihaylov
- class Instruments_Libraries.PM100D.PM100D(resource_str=None, *, resource_name=None, backend=None, timeout_ms=1000)[source]
Bases:
object
Thorlabs PM100-series power meter wrapper using PyVISA.
- You can construct either with:
resource_str=”P00XXXXX” # serial only (legacy behavior)
resource_str=”USB0::…::INSTR” # full VISA resource (also works)
resource_name=”USB0::…::INSTR” # explicit VISA resource
- Parameters:
resource_str (str | None) – Either the device serial (e.g., ‘P00XXXXX’) or a full VISA string. Kept for backward compatibility.
resource_name (str | None) – Explicit VISA resource name to open. If given, resource_str is ignored.
backend (str | None) – Optional PyVISA backend string, e.g., ‘@py’ for pyvisa-py.
timeout_ms (int) – VISA I/O timeout in milliseconds.
- DefaultPowerMeas(WaveLength)[source]
Legacy function. Do not use! Use get_Power instead. Performs a power measurement with hard coded parameters! PowerRange is set to auto.
- Parameters:
WaveLength (float) – Wavelength in nm.
- Returns:
Power in dBm.
- Return type:
float
- DefaultPowerMeas_W(WaveLength)[source]
Legacy function. Do not use! Use get_Power instead. Performs a power measurement with hard coded parameters! PowerRange is set to auto.
- Parameters:
WaveLength (float) – Wavelength in nm.
- Returns:
Power in W.
- Return type:
float
- DisplayParam(Type)[source]
Legacy function. Do not use. This function will print all the adjusted parameters.
- Parameters:
Type (str) – Can be set to Type = [‘Power’,’Energy’,’Current’,’Voltage’]
- Return type:
None
- DisplayParamDict(Type)[source]
This function will print all the adjusted parameters.
- Parameters:
Type (str) – Can be set to Type = [‘Power’,’Energy’,’Current’,’Voltage’]
- Returns:
Headers (str) – String with [‘Power’,’Energy’,’Current’,’Voltage’]
Data (list) – Data from the instrument.
Params (list) – List with str for different data that are extracted from the instrument.
- Return type:
None
- MeasCurrent()[source]
Performs a current measurement. Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- MeasEnergy()[source]
Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- MeasEnergyDensity()[source]
Performs an energy density measurement. Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- MeasFreq()[source]
Performs a frequency measurement. Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- MeasPower()[source]
Performs a Power measurement. Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- MeasPowerDensity()[source]
Performs a power density measurement. Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- MeasResistance()[source]
Performs a sensor presence resistance measurement. Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- MeasTemp()[source]
Performs a sensor temperature measurement. Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- MeasVoltage()[source]
Performs a voltage measurement. Maxim: Does nothing? Measure with Init() or readData() instead!
- Return type:
None
- PowerMeas()[source]
Legacy function. Do not use! Use get_Power instead. Performs a power measurement interactively.
- Returns:
Data from the power measurement.
- Return type:
float
- PowerSpecifications()[source]
Legacy function. Do not use. This function will print all the adjusted parameters for the power measurement.
- Return type:
None
- adjustCurrentRange()[source]
Legacy function. Do not use. Adjust the Current Measurement interactively.
- adjustEnergyMeas()[source]
Legacy function. Do not use. Adjust the Energy Measurement interactively.
- adjustPowerMeas()[source]
Legacy function. Do not use. Adjust the power measurement interactively.
- Return type:
None
- adjustVoltageRange()[source]
Legacy function. Do not use. Adjust the Voltage Measurement interactively.
- ask_Power(unit=None, waveLength=None, *, allow_NaN=False, delay=None)[source]
Calls get_Power().
- Parameters:
unit (str)
waveLength (float)
allow_NaN (bool)
delay (float | None)
- Return type:
float
- ask_freqRange(state)[source]
Queries the frequency range.
- Parameters:
state (str) – Can be [‘MAX’,’MIN’]
- Raises:
ValueError – Error message.
- Returns:
Queries the frequency range.
- Return type:
str
- fetchData(allow_NaN=False, delay=None)[source]
Reads last measurement data. WILL NOT START THE MEASUREMENT! Use readData() instead. Returns ‘nan’ if no data is available.
- Returns:
last measurement data or ‘nan’ if no data is available.
- Return type:
float
- Parameters:
allow_NaN (bool)
delay (float | None)
- get_Power(unit=None, waveLength=None, *, allow_NaN=False, delay=None)[source]
Performs a Power measurement.
- Parameters:
unit (str, optional) – Power unit [‘W’,’dBm’]. The default is (keep unchanged).
waveLength (float, optional) – Wavelength in nm. The default is (keep unchanged).
allow_NaN (bool, optional) – If True, returns ‘nan’ if no data is available. The default is False.
delay (float, optional) – Delay in seconds between query and read. The default is (standard delay).
- Returns:
Power in dBm or W.
- Return type:
float
- readData(allow_NaN=False, delay=1)[source]
Starts a measurement and reads last measurement data.
- Returns:
last measurement data or ‘nan’ if no data is available.
- Return type:
float
- Parameters:
allow_NaN (bool)
delay (float | None)
- self_test()[source]
- Returns:
Use this query command to perform the instrument self-test routine. The command places the coded result in the Output Queue. A returned value of zero (0) indicates that the test passed, other values indicate that the test failed.
- Return type:
TYPE
- set_AdapterType(state)[source]
- Parameters:
state (str) –
- Sets default sensor adapter type:
Allow senor types are: [‘PHOTodiode’,’THERmal’,’PYRo’]
- Raises:
ValueError – Error message.
- Return type:
None.
- set_AutoCurrentRange(state)[source]
Switches the auto-ranging function on and off.
- Parameters:
state (str/int) – Can be set to [‘ON’,’OFF’,1,0].
- Raises:
ValueError – Error message.
- Return type:
None
- set_AutoPowerRange(state)[source]
Switches the auto-ranging function on and off.
- Parameters:
state (str/int) – Can be set to [‘ON’,’OFF’,1,0].
- Raises:
ValueError – Error message.
- Return type:
None
- set_AutoVoltageRange(state)[source]
Switches the auto-ranging function on and off.
- Parameters:
state (str/int) – Can be [‘ON’,’OFF’,1,0]
- Raises:
ValueError – Error message.
- Return type:
None
- set_Average(value)[source]
- Parameters:
value (float/int) – Sets the averaging rate (1 sample takes approx. 3ms)
- Return type:
None
- set_PD(state)[source]
- Parameters:
state (str/int) –
- Sets the bandwidth of the photodiode input stage.
Can be [‘ON’,’OFF’,1,0]
- Raises:
ValueError – Error message.
- Return type:
None
- set_Parameters(Type)[source]
Legacy function. Do not use. This function will set the measurement parameters interactively.
- Parameters:
Type (str) – Can be set to Type = [‘Power’,’Energy’,’Current’,’Voltage’]
- Return type:
None
- set_PowerRange(value)[source]
- Parameters:
value (float/int) – Sets the current range in W
- Raises:
ValueError – Error message.
- Return type:
None
- set_PowerUnits(state)[source]
- Parameters:
state (str) – Sets the power unit W or dBm. Can be [‘W’,’dBm’].
- Raises:
ValueError – Error message.
- Return type:
None
- set_WaveLength(value)[source]
- Parameters:
value (float/int) – Sets the operation wavelength in nm.
- Return type:
None
- set_currentRange(value)[source]
- Parameters:
value (float/int) – Sets the current range in A.
- Raises:
ValueError – Error message.
- Return type:
None
- set_energyRange(value)[source]
- Parameters:
value (float) – Sets the energy range in J
- Raises:
ValueError – Error message.
- Return type:
None