mpylab.device.pm_rs_nrp_multichannel module

Shared-transport multi-channel driver for R&S NRP power meters.

class mpylab.device.pm_rs_nrp_multichannel.POWERMETER(**kwargs)

Bases: SharedPowerMeterFacade, POWERMETER

Expose NRP sensors as facades sharing reset, status and transport state.

In independent mode each facade sends INIT<n>:IMM. In synchronized mode one logical cycle uses INIT:ALL and stores a coherent result snapshot for all initialized facades. This groups the acquisition at instrument level; exact phase-synchronous sampling still depends on the connected sensor types and their trigger configuration.

GetData()

Perform a blocking measurement and return a power quantity.

GetDataNB(retrigger=False)

Poll completion and return (-1, None) while still pending.

GetFreq()

Read this sensor’s correction frequency.

Init(ini=None, channel=None, ignore_bus=None)

Initialize one NRP sensor facade and its shared controller.

SetFreq(freq)

Set this sensor’s correction frequency.

Trigger()

Start a measurement according to the configured acquisition mode.

Zero(state='on')

Enable or disable automatic zeroing for this sensor.

conftmpl = {'channel_%d': {'file': <function _file_source>, 'filter': <class 'int'>, 'interpolation': <class 'str'>, 'manrange': <class 'float'>, 'name': <class 'str'>, 'rangemode': <class 'str'>, 'resolution': <class 'int'>, 'sensor': <class 'str'>, 'swr1': <class 'float'>, 'swr2': <class 'float'>, 'unit': <class 'str'>}, 'description': {'description': <class 'str'>, 'deviceid': <class 'str'>, 'driver': <class 'str'>, 'serialnr': <class 'str'>, 'type': <class 'str'>, 'vendor': <class 'str'>}, 'init_value': {'acquisition': <class 'str'>, 'fstart': <class 'float'>, 'fstep': <class 'float'>, 'fstop': <class 'float'>, 'gpib': <class 'int'>, 'measurement_timeout': <class 'float'>, 'nr_of_channels': <class 'int'>, 'poll_interval': <class 'float'>, 'virtual': <function strbool>, 'visa': <class 'str'>}}
mpylab.device.pm_rs_nrp_multichannel.main()

Print the embedded virtual two-channel smoke-test result.

mpylab.device.pm_rs_nrp_multichannel.virtual_smoke_test()

Exercise a synchronized two-channel snapshot without hardware.