Siglent SDS1072CML Oscilloscope

class pymeasure.instruments.siglenttechnologies.SDS1072CML(adapter, name='Siglent SDS1072CML Oscilloscope', **kwargs)

Bases: SCPIMixin, Instrument

Represents the SIGLENT SDS1072CML Oscilloscope

channel_1
Channel:

VoltageChannel

channel_2
Channel:

VoltageChannel

trigger
Channel:

TriggerChannel

arm()

Change the acquisition mode from ‘STOPPED’ to ‘SINGLE’. Returns True if the scope is ready and armed.

property internal_state: Any

Get the scope’s Internal state change register and clears it.

property is_ready: Any

Get whether the scope is ready for the next acquisition (bool)

property status: Any

Get the sampling status of the scope (Stop, Ready, Trig’d, Armed)

property template: Any

Get a copy of the template that describes the various logical entities making up a complete waveform. In particular, the template describes in full detail the variables contained in the descriptor part of a waveform.

property time_division: Any

Control the time division to the closest possible value, rounding downwards, in seconds.

wait(time)

Stop the scope from doing anything until it has completed the current acquisition (p.146)

Parameters:

time – time in seconds to wait for

property waveform_setup: Any

Control the amount of data in a waveform to be transmitted to the controller with a dict containing the keys: - sparsing: The interval between data points (0 and 1 are all points, 4 are 1 out of 4 points, etc…) - number: the maximal number of data points to return. 0 is all points - first: the index of the data point from which to begin data transfer (0 is first)

class pymeasure.instruments.siglenttechnologies.siglent_sds1072cml.VoltageChannel(parent, id, **kwargs)

Bases: Channel

Implementation of a SIGLENT SDS1072CML Oscilloscope channel

property coupling: Any

Control the channel coupling mode.(DC or AC)

get_descriptor(descriptor=None)

Get the descriptor of data being sent when querying device for waveform Will decode a descriptor if provided one (Raw byte stream), otherwise it will query it :return: dict: A dictionary with the keys: - numDataPoints: the number of points in the waveform - verticalGain: the voltage increment per code value (in V) - verticalOffset: the voltage offset to add to the decoded voltage values - horizInterval: the time interval between points in s - horizOffset:the offset to add to the time steps - descriptorOffset: Length of the C1:WF ALL,#9000000346 message

get_waveform()

Get the waveforms displayed in the channel as a tuple with elements: - time: (1d array) the time in seconds since the trigger epoch for every voltage value in the waveforms - voltages: (1d array) the waveform in V

property vertical_division: Any

Control the vertical sensitivity of a channel in V/divisions.

class pymeasure.instruments.siglenttechnologies.siglent_sds1072cml.TriggerChannel(parent, id, **kwargs)

Bases: Channel

Implementation of trigger control channel

get_trigger_config()

Get the current trigger configuration as a dict with keys: - “type”: condition that will trigger the acquisition of waveforms [EDGE, slew,GLIT,intv,runt,drop] - “source”: trigger source (str, {EX,EX/5,C1,C2}) - “hold_type”: hold type (refer to page 131 of programing guide) - “hold_value1”: hold value1 (refer to page 131 of programing guide) - “level”: Level at which the trigger will be set (float) - “slope”: (str,{POS,NEG,WINDOW}) Triggers on rising, falling or Window. - “mode”: behavior of the trigger following a triggering event (str, {NORM, AUTO, SINGLE,STOP}) - “coupling”: (str,{AC,DC}) Coupling to the trigger channel

and updates the internal configuration status

set_trigger_config(**kwargs)

Set the current trigger configuration with keys: - “type”: condition that will trigger the acquisition of waveforms [EDGE, slew,GLIT,intv,runt,drop] - “source”: trigger source (str, {EX,EX/5,C1,C2}) - “hold_type”: hold type (refer to page 131 of programing guide) - “hold_value1”: hold value1 (refer to page 131 of programing guide) - “level”: Level at which the trigger will be set (float) - “slope”: (str,{POS,NEG,WINDOW}) Triggers on rising, falling or Window. - “mode”: behavior of the trigger following a triggering event (str, {NORM, AUTO, SINGLE,STOP}) - “coupling”: (str,{AC,DC}) Coupling to the trigger channel

Returns a flag indicating if all specified entries were correctly set on the oscilloscope and updates the interal trigger configuration

property trigger_coupling: Any

Get the current trigger coupling as a dict with keys: - “source”: trigger source whose coupling will be changed (str, {EX,EX/5,C1,C2}) - “coupling”: (str,{AC,DC}) Coupling to the trigger channel

property trigger_level: Any

Get the current trigger level as a dict with keys: - “source”: trigger source whose level will be changed (str, {EX,EX/5,C1,C2}) - “level”: Level at which the trigger will be set (float)

property trigger_mode: Any

Get the current trigger mode as a dict with keys: - “mode”: behavior of the trigger following a triggering event (str, {NORM, AUTO, SINGLE,STOP})

property trigger_setup: Any

Get the current trigger setup as a dict with keys: - “type”: condition that will trigger the acquisition of waveforms [EDGE, slew,GLIT,intv,runt,drop] - “source”: trigger source (str, {EX,EX/5,C1,C2}) - “hold_type”: hold type (refer to page 131 of programing guide) - “hold_value1”: hold value1 (refer to page 131 of programing guide)

property trigger_slope: Any

Get the current trigger slope as a dict with keys: - “source”: trigger source whose level will be changed (str, {EX,EX/5,C1,C2}) - “slope”: (str,{POS,NEG,WINDOW}) Triggers on rising, falling or Window.