Newport Power Meters

Driver module for Newport power meters. Supports:

  • 1830-C

For example, suppose a power meter is connected on port COM1. One can then connect and measure the power using the following sequence:

>>> from instrumental import instrument
>>> newport_power_meter = instrument(visa_address='COM1',
                                     classname='Newport_1830_C',
                                     module='powermeters.newport')
>>> newport_power_meter.power
<Quantity(3.003776, 'W')>
class instrumental.drivers.powermeters.newport.Newport_1830_C(inst=None, **kwds)

A Newport 1830-C power meter

attenuator_enabled(**kwds)
close()
disable_attenuator(**kwds)
disable_auto_range()

Disable auto-range

Leaves the signal range at its current position.

disable_hold()

Disable hold mode

disable_zero()

Disable the zero function

enable_attenuator(**kwds)
enable_auto_range()

Enable auto-range

enable_hold(enable=True)

Enable hold mode

enable_zero(enable=True)

Enable the zero function

When enabled, the next power reading is stored as a background value and is subtracted off of all subsequent power readings.

get_filter()

Get the current setting for the averaging filter

Returns

the current averaging filter

Return type

SLOW_FILTER, MEDIUM_FILTER, NO_FILTER

get_power(**kwds)
get_range(**kwds)
get_status_byte(**kwds)
get_units()

Get the units used for displaying power measurements

Returns

units – ‘watts’, ‘db’, ‘dbm’, or ‘rel’

Return type

str

get_valid_power(max_attempts=10, polling_interval=<Quantity(0.1, 'second')>)

Returns a valid power reading

This convience function will try to measure a valid power up to a maximum of max_attempts times, pausing for time polling_interval between each attempt. If a power reading is taken when the power meter is over-range, saturated, or busy, the reading will be invalid. In practice, this function also seems to mitigate the fact that about 1 in 500 power readings mysteriously fails.

Parameters
  • max_attempts (integer) – maximum number of attempts to measure a valid power

  • polling_interval (Quantity) – time to wait between measurement attemps, in units of time

Returns

power – Power in units of watts, regardless of the power meter’s current ‘units’ setting.

Return type

Quantity

get_wavelength(**kwds)
hold_enabled()

Whether hold mode is enabled

Returns

enabled – True if in hold mode, False if in run mode

Return type

bool

is_measurement_valid()

Whether the current measurement is valid

The measurement is considered invalid if the power meter is saturated, over-range or busy.

set_medium_filter()

Set the averaging filter to medium mode

The medium filter uses a 4-measurement running average.

set_no_filter()

Set the averaging filter to fast mode, i.e. no averaging

set_range(**kwds)
set_slow_filter()

Set the averaging filter to slow mode

The slow filter uses a 16-measurement running average.

set_units(units)

Set the units for displaying power measurements

The different unit modes are watts, dB, dBm, and REL. Each displays the power in a different way.

‘watts’ displays absolute power in watts

‘dBm’ displays power in dBm (i.e. dBm = 10 * log(P / 1mW))

‘dB’ displays power in dB relative to the current reference power (i.e. dB = 10 * log(P / Pref). At power-up, the reference power is set to 1mW.

‘REL’ displays power relative to the current reference power (i.e. REL = P / Pref)

The current reference power can be set using store_reference().

Parameters

units ('watts', 'dBm', 'dB', or 'REL') – Case-insensitive str indicating which units mode to enter.

set_wavelength(**kwds)
store_reference()

Store the current power input as a reference

Sets the current power measurement as the reference power for future dB or relative measurements.

zero_enabled()

Whether the zero function is enabled

MEDIUM_FILTER = 2
NO_FILTER = 3
SLOW_FILTER = 1
attenuator

Whether the attenuator is enabled

property local_lockout

Whether local-lockout is enabled

power

Get the current power measurement

Returns

power – Power in units of watts, regardless of the power meter’s current ‘units’ setting.

Return type

Quantity

range

The current input range, [1-8], where 1 is lowest signal.

status_byte
wavelength
instrumental.drivers.powermeters.newport.MyFacet(msg, readonly=False, **kwds)

Like SCPI_Facet, but without a space before the set-value