# Siglent Technologies Base Class

class pymeasure.instruments.siglenttechnologies.siglent_spdbase.SPDBase(adapter, name='Siglent SPDxxxxX instrument Base Class', **kwargs)

  Bases: `SCPIUnknownMixin`, `Instrument`

  The base class for Siglent SPDxxxxX instruments.

  Uses `SPDChannel` for measurement channels.

  enable_local_interface(enable: bool = True)

    Configure the availability of the local interface.

    Type:

      bool `True`: enables the local interface `False`: disables it.

  property error

    Get the error code and information of the instrument.

    Type:

      string

  property fw_version

    Get the software version of the instrument.

    Type:

      string

  recall_config(index)

    Recall a config from memory.

    Parameters:

      index – int: index of the location from which to recall the configuration

  save_config(index)

    Save the current config to memory.

    Parameters:

      index – int: index of the location to save the configuration

  property selected_channel

    Control the selected channel of the instrument.

    :type : int (dynamic)

  shutdown()

    Ensure that the voltage is turned to zero and disable the output.

  property system_status_code

    Get the system status register.

    Type:

      `SystemStatusCode`

class pymeasure.instruments.siglenttechnologies.siglent_spdbase.SPDSingleChannelBase(adapter, name='Siglent SPDxxxxX instrument Base Class', **kwargs)

  Bases: `SPDBase`

  enable_4W_mode(enable: bool = True)

    Enable 4-wire mode.

    Type:

      bool `True`: enables 4-wire mode `False`: disables it.

class pymeasure.instruments.siglenttechnologies.siglent_spdbase.SPDChannel(parent, id, voltage_range: list = [0, 16], current_range: list = [0, 8])

  Bases: `Channel`

  The channel class for Siglent SPDxxxxX instruments.

  configure_timer(step, voltage, current, duration)

    Configure the timer step.

    Parameters:

      - step – int: index of the step to save the configuration

      - voltage – float: voltage setpoint of the step

      - current – float: current limit of the step

      - duration – int: duration of the step in seconds

  property current

    Measure the channel output current.

    Type:

      float

  property current_limit

    Control the output current configuration of the channel.

    :type : float (dynamic)

  enable_output(enable: bool = True)

    Enable the channel output.

    Type:

      bool `True`: enables the output `False`: disables it

  enable_timer(enable: bool = True)

    Enable the channel timer.

    Type:

      bool `True`: enables the timer `False`: disables it

  property power

    Measure the channel output power.

    Type:

      float

  property voltage

    Measure the channel output voltage.

    Type:

      float

  property voltage_setpoint

    Control the output voltage configuration of the channel.

    :type : float (dynamic)

class pymeasure.instruments.siglenttechnologies.siglent_spdbase.SystemStatusCode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

  System status enums based on `IntFlag`

  Used in conjunction with `system_status_code`.

  > Value | Enum
  > --- | ---
  > 256 | WAVEFORM_DISPLAY
  > 64 | TIMER_ENABLED
  > 32 | FOUR_WIRE
  > 16 | OUTPUT_ENABLED
  > 1 | CONSTANT_CURRENT
  > 0 | CONSTANT_VOLTAGE