Multi-Channel Power Supplies

hardware_control.gui.controls.MultiPowerSupply module

../../_images/MultiPowerSupply.png
class hardware_control.gui.controls.MultiPowerSupply.MultiPowerSupply(app, instrument_name: str, channels: List, widget_name: str = 'Multi_Channel_PSU', channel_names: List | None = None, show_VI_limits: bool = False, show_status_panel: bool = False, enable_power_buttons: str = 'none', num_columns: int = -1)

Bases: QGroupBox

A generic control program for a multi-channel power supply.

Parameters:
  • app (hardware_control.App) – The main app instance

  • instrument_name (str) – The name of the power supply instrument

  • channels (list) – A list of channels to be shown in the control program

  • widget_name (str) – Name shown on the control program; default is ‘Multi_Channel_PSU’

  • channel_names (list) – An optional list of strings to be used as the channel names; if no list is given the channels are named according to their numbers

  • show_VI_limits (bool) – Option to show the maximum allowed voltage and current for each channel

  • show_status_panel (bool) – Option to show the status panel; this option only works with Caen power supply units

  • enable_power_buttons (str) – Power buttons option; ‘individual’ creates one enable button per channel), ‘both’ creates individual channel enable buttons and an enable button for all channels, and ‘none’ will not create any

  • num_columns (int) – Number of columns to place the power supply channel widgets in

disable_all()

Disable all channels.

enable_all()

Enable all channels.

set_channel_label(channel: int, label: str)

Set a channel label to a new custom label.

set_maxI(channel: int, maxI: float)

Set an internal limit for the current from channel ‘X’.

set_maxV(channel: int, maxV: float)

Set an internal limit for the voltage from channel ‘X’.

update_readout()

Query the instrument for current readout data and push it to the GUI.

class hardware_control.gui.controls.MultiPowerSupply.PowerSupplyChannel(app, instrument_name: str, channel: int, show_VI_limits: bool = False, show_status_panel: bool = False, power_button: bool = False)

Bases: QWidget

A Qt-widget that implements controls for a single channel of a power supply.

set_label(label: str)

Set a label header for the channel.