Features

This section describes all features that are shipped with this package.

Scenario Features

Note

This package does not provide any scenario features

class balderhub.waveformmonitor.lib.scenario_features.WaveformMonitorFeature(**kwargs)

Bases: Feature

Waveform Monitor Feature that can be used for any device types. It does not even need to be a Programmable Oscilloscope, because you could use any device that can be controlled and provide the functionality below.

get_last_captured_waveform() CustomNonPeriodicWaveform | CustomPeriodicWaveform | None

This method gets the last captured waveform and returns it as PERIODIC or NON-PERIODIC waveform (dependent of device type and how the instrument captures the waveform).

Returns:

the captured waveform object

is_capturing() bool
Returns:

returns true if the capturing is enabled, otherwise False

start_capturing(time_per_div_sec: float, voltage_per_div: float, offset_vdc: float = 0)

This method starts the capturing.

Parameters:
  • time_per_div_sec – time per div in seconds

  • voltage_per_div – voltage per div

  • offset_vdc – offset that should be applied to capture the waveform

stop_capturing()

This method stops the capturing.

Instruments

class balderhub.waveformmonitor.lib.scenario_features.WaveformMonitorInstrument(**kwargs)

Bases: Feature

raw implementation of a programmable oscilloscope instrument

class Channel(value)

Bases: Enum

enum holding all available channels of this instrument

get_last_captured_waveform(for_channel: Channel) CustomNonPeriodicWaveform | CustomPeriodicWaveform | None

This method gets the last captured waveform of the specific channel and returns it as PERIODIC or NON-PERIODIC waveform (dependent of device type and how the instrument captures the waveform).

Parameters:

for_channel – channel to get the last captured waveform for

Returns:

the captured waveform object

is_capturing(at_channel: Channel) bool
Parameters:

at_channel – channel to check

Returns:

returns true if the capturing at the specific channel is enabled, otherwise False

start_capturing(on_channel: Channel, time_per_div_sec: float, voltage_per_div: float, offset_vdc: float = 0)

This method starts the capturing on the given channel.

Parameters:
  • on_channel – channel to start capturing at

  • time_per_div_sec – time per div in seconds

  • voltage_per_div – voltage per div

  • offset_vdc – offset that should be applied to capture the waveform

stop_capturing(on_channel: Channel)

This method stops the capturing on the specific channel.

Parameters:

on_channel – channel to stop capturing at

class balderhub.waveformmonitor.lib.scenario_features.WaveformMonitorInstrumentChannel(**kwargs)

Bases: WaveformMonitorFeature

Implementation of balderhub.waveformmonitor.lib.scenario_features.WaveformMonitorFeature and uses a channel of an balderhub.waveformmonitor.lib.scenario_features.WaveformMonitorInstrument

class Instrument

Bases: VDevice

vdevice representing the waveform monitoring instrument (like an oscilloscope)

property channel: Channel
Returns:

returns the channel identifier this feature represents

get_last_captured_waveform() CustomNonPeriodicWaveform | CustomPeriodicWaveform | None

This method gets the last captured waveform and returns it as PERIODIC or NON-PERIODIC waveform (dependent of device type and how the instrument captures the waveform).

Returns:

the captured waveform object

is_capturing() bool
Returns:

returns true if the capturing is enabled, otherwise False

start_capturing(time_per_div_sec: float, voltage_per_div: float, offset_vdc: float = 0)

This method starts the capturing.

Parameters:
  • time_per_div_sec – time per div in seconds

  • voltage_per_div – voltage per div

  • offset_vdc – offset that should be applied to capture the waveform

stop_capturing()

This method stops the capturing.

Setup Features

Siglent-Devices

class balderhub.waveformmonitor.lib.setup_features.siglent.BaseSiglentSDSSeriesInstrument(**kwargs)

Bases: WaveformMonitorInstrument

Feature implementation for the Siglent SDS series Oscilloscope Instrument

class Channel(value)

Bases: Channel

available channel for this instrument - needs to be overwritten in parent class

get_last_captured_waveform(for_channel: Channel) CustomNonPeriodicWaveform | None

This method gets the last captured waveform of the specific channel and returns it as PERIODIC or NON-PERIODIC waveform (dependent of device type and how the instrument captures the waveform).

Parameters:

for_channel – channel to get the last captured waveform for

Returns:

the captured waveform object

is_capturing(at_channel: Channel) bool
Parameters:

at_channel – channel to check

Returns:

returns true if the capturing at the specific channel is enabled, otherwise False

start_capturing(on_channel: Channel, time_per_div_sec: float, voltage_per_div: float, offset_vdc: float = 0)

This method starts the capturing on the given channel.

Parameters:
  • on_channel – channel to start capturing at

  • time_per_div_sec – time per div in seconds

  • voltage_per_div – voltage per div

  • offset_vdc – offset that should be applied to capture the waveform

stop_capturing(on_channel: Channel)

This method stops the capturing on the specific channel.

Parameters:

on_channel – channel to stop capturing at

class balderhub.waveformmonitor.lib.setup_features.siglent.SiglentSDS814xHDInstrument(**kwargs)

Bases: BaseSiglentSDSSeriesInstrument

Feature implementation for the Siglent SDS814X Oscilloscope Instrument

class Channel(value)

Bases: Channel

available channel for this instrument

Channel Selection Features

class balderhub.waveformmonitor.lib.setup_features.DirtyWaveformMonitorChannel(**kwargs)

Bases: WaveformMonitorFeature

Dirty helper feature that can be assigned directly to the device

property channel: Channel
Returns:

returns the channel that should be used for the feature (defaults to 1)

get_last_captured_waveform() CustomNonPeriodicWaveform | CustomPeriodicWaveform | None

This method gets the last captured waveform and returns it as PERIODIC or NON-PERIODIC waveform (dependent of device type and how the instrument captures the waveform).

Returns:

the captured waveform object

is_capturing() bool
Returns:

returns true if the capturing is enabled, otherwise False

start_capturing(time_per_div_sec: float, voltage_per_div: float, offset_vdc: float = 0)

This method starts the capturing.

Parameters:
  • time_per_div_sec – time per div in seconds

  • voltage_per_div – voltage per div

  • offset_vdc – offset that should be applied to capture the waveform

stop_capturing()

This method stops the capturing.

class balderhub.waveformmonitor.lib.setup_features.WaveformMonitorInstrumentChannel1(**kwargs)

Bases: WaveformMonitorInstrumentChannel

Universal Waveform Monitor Setup Feature representing the Channel 1 of a Waveform Monitor Instrument (like an oscilloscope)

property channel: Channel
Returns:

returns the channel identifier this feature represents

class balderhub.waveformmonitor.lib.setup_features.WaveformMonitorInstrumentChannel2(**kwargs)

Bases: WaveformMonitorInstrumentChannel

Universal Waveform Monitor Setup Feature representing the Channel 2 of a Waveform Monitor Instrument (like an oscilloscope)

property channel: Channel
Returns:

returns the channel identifier this feature represents